// DO NOT EDIT: This file is autogenerated via the builtin command.

package universe

import (
	ast "github.com/influxdata/flux/ast"
	parser "github.com/influxdata/flux/internal/parser"
	"regexp"
)

var FluxTestPackages = []*ast.Package{&ast.Package{
	BaseNode: ast.BaseNode{
		Comments: nil,
		Errors:   nil,
		Loc:      nil,
	},
	Files: []*ast.File{&ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   55,
				},
				File:   "aggregate_empty_window_count_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,1\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,3\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,2\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,1\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,3\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,2\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,1\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,3\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,2\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,0\r\n\"\n\ntest aggregate_window_empty_count = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: count),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "aggregate_empty_window_count_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "aggregate_empty_window_count_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "aggregate_empty_window_count_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "aggregate_empty_window_count_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,1\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,3\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,2\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,1\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,3\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,2\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,1\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,3\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,2\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,0\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "aggregate_empty_window_count_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "aggregate_empty_window_count_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,1\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,3\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,2\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,1\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,3\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,2\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,1\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,3\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,2\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,0\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,1\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,3\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,2\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,1\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,3\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,2\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,1\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,3\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,2\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,0\r\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   55,
						},
						File:   "aggregate_empty_window_count_test.flux",
						Source: "aggregate_window_empty_count = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: count),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 34,
								Line:   49,
							},
							File:   "aggregate_empty_window_count_test.flux",
							Source: "aggregate_window_empty_count",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "aggregate_window_empty_count",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   55,
							},
							File:   "aggregate_empty_window_count_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: count),\n})",
							Start: ast.Position{
								Column: 37,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   55,
								},
								File:   "aggregate_empty_window_count_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: count),\n})",
								Start: ast.Position{
									Column: 43,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   55,
									},
									File:   "aggregate_empty_window_count_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: count),\n}",
									Start: ast.Position{
										Column: 44,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   50,
										},
										File:   "aggregate_empty_window_count_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   50,
											},
											File:   "aggregate_empty_window_count_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   50,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   50,
												},
												File:   "aggregate_empty_window_count_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   50,
													},
													File:   "aggregate_empty_window_count_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   50,
														},
														File:   "aggregate_empty_window_count_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   50,
														},
														File:   "aggregate_empty_window_count_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   50,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   50,
											},
											File:   "aggregate_empty_window_count_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "aggregate_empty_window_count_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "aggregate_empty_window_count_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   50,
													},
													File:   "aggregate_empty_window_count_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   50,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   51,
										},
										File:   "aggregate_empty_window_count_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   51,
											},
											File:   "aggregate_empty_window_count_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   51,
												},
												File:   "aggregate_empty_window_count_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   51,
													},
													File:   "aggregate_empty_window_count_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   51,
														},
														File:   "aggregate_empty_window_count_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   51,
														},
														File:   "aggregate_empty_window_count_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   51,
											},
											File:   "aggregate_empty_window_count_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   51,
												},
												File:   "aggregate_empty_window_count_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   51,
													},
													File:   "aggregate_empty_window_count_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   51,
													},
													File:   "aggregate_empty_window_count_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   54,
										},
										File:   "aggregate_empty_window_count_test.flux",
										Source: "fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: count)",
										Start: ast.Position{
											Column: 5,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   52,
											},
											File:   "aggregate_empty_window_count_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   54,
											},
											File:   "aggregate_empty_window_count_test.flux",
											Source: "(table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: count)",
											Start: ast.Position{
												Column: 9,
												Line:   52,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   52,
														},
														File:   "aggregate_empty_window_count_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 23,
															Line:   52,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   53,
													},
													File:   "aggregate_empty_window_count_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 23,
														Line:   52,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   53,
															},
															File:   "aggregate_empty_window_count_test.flux",
															Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   53,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   53,
																},
																File:   "aggregate_empty_window_count_test.flux",
																Source: "start: 2018-05-22T19:53:26Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_count_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   53,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_count_test.flux",
																	Source: "2018-05-22T19:53:26Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   53,
																},
																File:   "aggregate_empty_window_count_test.flux",
																Source: "stop: 2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 47,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 51,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_count_test.flux",
																	Source: "stop",
																	Start: ast.Position{
																		Column: 47,
																		Line:   53,
																	},
																},
															},
															Name: "stop",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 73,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_count_test.flux",
																	Source: "2018-05-22T19:55:00Z",
																	Start: ast.Position{
																		Column: 53,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   53,
														},
														File:   "aggregate_empty_window_count_test.flux",
														Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   53,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   53,
															},
															File:   "aggregate_empty_window_count_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   53,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   54,
												},
												File:   "aggregate_empty_window_count_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: count)",
												Start: ast.Position{
													Column: 23,
													Line:   52,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 49,
															Line:   54,
														},
														File:   "aggregate_empty_window_count_test.flux",
														Source: "every: 30s, fn: count",
														Start: ast.Position{
															Column: 28,
															Line:   54,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   54,
															},
															File:   "aggregate_empty_window_count_test.flux",
															Source: "every: 30s",
															Start: ast.Position{
																Column: 28,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   54,
																},
																File:   "aggregate_empty_window_count_test.flux",
																Source: "every",
																Start: ast.Position{
																	Column: 28,
																	Line:   54,
																},
															},
														},
														Name: "every",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   54,
																},
																File:   "aggregate_empty_window_count_test.flux",
																Source: "30s",
																Start: ast.Position{
																	Column: 35,
																	Line:   54,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(30),
															Unit:      "s",
														}},
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 49,
																Line:   54,
															},
															File:   "aggregate_empty_window_count_test.flux",
															Source: "fn: count",
															Start: ast.Position{
																Column: 40,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 42,
																	Line:   54,
																},
																File:   "aggregate_empty_window_count_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 40,
																	Line:   54,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 49,
																	Line:   54,
																},
																File:   "aggregate_empty_window_count_test.flux",
																Source: "count",
																Start: ast.Position{
																	Column: 44,
																	Line:   54,
																},
															},
														},
														Name: "count",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   54,
													},
													File:   "aggregate_empty_window_count_test.flux",
													Source: "aggregateWindow(every: 30s, fn: count)",
													Start: ast.Position{
														Column: 12,
														Line:   54,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   54,
														},
														File:   "aggregate_empty_window_count_test.flux",
														Source: "aggregateWindow",
														Start: ast.Position{
															Column: 12,
															Line:   54,
														},
													},
												},
												Name: "aggregateWindow",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_count_test.flux",
												Source: "table=<-",
												Start: ast.Position{
													Column: 10,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   52,
													},
													File:   "aggregate_empty_window_count_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   52,
													},
												},
											},
											Name: "table",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_count_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 16,
													Line:   52,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   55,
					},
					File:   "aggregate_empty_window_count_test.flux",
					Source: "test aggregate_window_empty_count = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: count),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_empty_window_count_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_empty_window_count_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_empty_window_count_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_empty_window_count_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_empty_window_count_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   55,
				},
				File:   "aggregate_empty_window_first_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,89.51118889861233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,68.304576144036\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"\n\ntest aggregate_window_empty_first = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: first),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "aggregate_empty_window_first_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "aggregate_empty_window_first_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "aggregate_empty_window_first_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "aggregate_empty_window_first_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,89.51118889861233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,68.304576144036\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "aggregate_empty_window_first_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "aggregate_empty_window_first_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,89.51118889861233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,68.304576144036\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,89.51118889861233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,68.304576144036\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   55,
						},
						File:   "aggregate_empty_window_first_test.flux",
						Source: "aggregate_window_empty_first = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: first),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 34,
								Line:   49,
							},
							File:   "aggregate_empty_window_first_test.flux",
							Source: "aggregate_window_empty_first",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "aggregate_window_empty_first",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   55,
							},
							File:   "aggregate_empty_window_first_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: first),\n})",
							Start: ast.Position{
								Column: 37,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   55,
								},
								File:   "aggregate_empty_window_first_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: first),\n})",
								Start: ast.Position{
									Column: 43,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   55,
									},
									File:   "aggregate_empty_window_first_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: first),\n}",
									Start: ast.Position{
										Column: 44,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   50,
										},
										File:   "aggregate_empty_window_first_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   50,
											},
											File:   "aggregate_empty_window_first_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   50,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   50,
												},
												File:   "aggregate_empty_window_first_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   50,
													},
													File:   "aggregate_empty_window_first_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   50,
														},
														File:   "aggregate_empty_window_first_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   50,
														},
														File:   "aggregate_empty_window_first_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   50,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   50,
											},
											File:   "aggregate_empty_window_first_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "aggregate_empty_window_first_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "aggregate_empty_window_first_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   50,
													},
													File:   "aggregate_empty_window_first_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   50,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   51,
										},
										File:   "aggregate_empty_window_first_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   51,
											},
											File:   "aggregate_empty_window_first_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   51,
												},
												File:   "aggregate_empty_window_first_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   51,
													},
													File:   "aggregate_empty_window_first_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   51,
														},
														File:   "aggregate_empty_window_first_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   51,
														},
														File:   "aggregate_empty_window_first_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   51,
											},
											File:   "aggregate_empty_window_first_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   51,
												},
												File:   "aggregate_empty_window_first_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   51,
													},
													File:   "aggregate_empty_window_first_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   51,
													},
													File:   "aggregate_empty_window_first_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   54,
										},
										File:   "aggregate_empty_window_first_test.flux",
										Source: "fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: first)",
										Start: ast.Position{
											Column: 5,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   52,
											},
											File:   "aggregate_empty_window_first_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   54,
											},
											File:   "aggregate_empty_window_first_test.flux",
											Source: "(table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: first)",
											Start: ast.Position{
												Column: 9,
												Line:   52,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   52,
														},
														File:   "aggregate_empty_window_first_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 23,
															Line:   52,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   53,
													},
													File:   "aggregate_empty_window_first_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 23,
														Line:   52,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   53,
															},
															File:   "aggregate_empty_window_first_test.flux",
															Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   53,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   53,
																},
																File:   "aggregate_empty_window_first_test.flux",
																Source: "start: 2018-05-22T19:53:26Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_first_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   53,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_first_test.flux",
																	Source: "2018-05-22T19:53:26Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   53,
																},
																File:   "aggregate_empty_window_first_test.flux",
																Source: "stop: 2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 47,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 51,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_first_test.flux",
																	Source: "stop",
																	Start: ast.Position{
																		Column: 47,
																		Line:   53,
																	},
																},
															},
															Name: "stop",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 73,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_first_test.flux",
																	Source: "2018-05-22T19:55:00Z",
																	Start: ast.Position{
																		Column: 53,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   53,
														},
														File:   "aggregate_empty_window_first_test.flux",
														Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   53,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   53,
															},
															File:   "aggregate_empty_window_first_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   53,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   54,
												},
												File:   "aggregate_empty_window_first_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: first)",
												Start: ast.Position{
													Column: 23,
													Line:   52,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 49,
															Line:   54,
														},
														File:   "aggregate_empty_window_first_test.flux",
														Source: "every: 30s, fn: first",
														Start: ast.Position{
															Column: 28,
															Line:   54,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   54,
															},
															File:   "aggregate_empty_window_first_test.flux",
															Source: "every: 30s",
															Start: ast.Position{
																Column: 28,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   54,
																},
																File:   "aggregate_empty_window_first_test.flux",
																Source: "every",
																Start: ast.Position{
																	Column: 28,
																	Line:   54,
																},
															},
														},
														Name: "every",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   54,
																},
																File:   "aggregate_empty_window_first_test.flux",
																Source: "30s",
																Start: ast.Position{
																	Column: 35,
																	Line:   54,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(30),
															Unit:      "s",
														}},
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 49,
																Line:   54,
															},
															File:   "aggregate_empty_window_first_test.flux",
															Source: "fn: first",
															Start: ast.Position{
																Column: 40,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 42,
																	Line:   54,
																},
																File:   "aggregate_empty_window_first_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 40,
																	Line:   54,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 49,
																	Line:   54,
																},
																File:   "aggregate_empty_window_first_test.flux",
																Source: "first",
																Start: ast.Position{
																	Column: 44,
																	Line:   54,
																},
															},
														},
														Name: "first",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   54,
													},
													File:   "aggregate_empty_window_first_test.flux",
													Source: "aggregateWindow(every: 30s, fn: first)",
													Start: ast.Position{
														Column: 12,
														Line:   54,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   54,
														},
														File:   "aggregate_empty_window_first_test.flux",
														Source: "aggregateWindow",
														Start: ast.Position{
															Column: 12,
															Line:   54,
														},
													},
												},
												Name: "aggregateWindow",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_first_test.flux",
												Source: "table=<-",
												Start: ast.Position{
													Column: 10,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   52,
													},
													File:   "aggregate_empty_window_first_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   52,
													},
												},
											},
											Name: "table",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_first_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 16,
													Line:   52,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   55,
					},
					File:   "aggregate_empty_window_first_test.flux",
					Source: "test aggregate_window_empty_first = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: first),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_empty_window_first_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_empty_window_first_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_empty_window_first_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_empty_window_first_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_empty_window_first_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   55,
				},
				File:   "aggregate_empty_window_last_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,91.02836436336374\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,87.88598574821853\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"\n\ntest aggregate_window_empty_last = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: last),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "aggregate_empty_window_last_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "aggregate_empty_window_last_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "aggregate_empty_window_last_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "aggregate_empty_window_last_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,91.02836436336374\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,87.88598574821853\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "aggregate_empty_window_last_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "aggregate_empty_window_last_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,91.02836436336374\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,87.88598574821853\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,91.02836436336374\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,87.88598574821853\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   55,
						},
						File:   "aggregate_empty_window_last_test.flux",
						Source: "aggregate_window_empty_last = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: last),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   49,
							},
							File:   "aggregate_empty_window_last_test.flux",
							Source: "aggregate_window_empty_last",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "aggregate_window_empty_last",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   55,
							},
							File:   "aggregate_empty_window_last_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: last),\n})",
							Start: ast.Position{
								Column: 36,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   55,
								},
								File:   "aggregate_empty_window_last_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: last),\n})",
								Start: ast.Position{
									Column: 42,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   55,
									},
									File:   "aggregate_empty_window_last_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: last),\n}",
									Start: ast.Position{
										Column: 43,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   50,
										},
										File:   "aggregate_empty_window_last_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   50,
											},
											File:   "aggregate_empty_window_last_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   50,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   50,
												},
												File:   "aggregate_empty_window_last_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   50,
													},
													File:   "aggregate_empty_window_last_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   50,
														},
														File:   "aggregate_empty_window_last_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   50,
														},
														File:   "aggregate_empty_window_last_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   50,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   50,
											},
											File:   "aggregate_empty_window_last_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "aggregate_empty_window_last_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "aggregate_empty_window_last_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   50,
													},
													File:   "aggregate_empty_window_last_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   50,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   51,
										},
										File:   "aggregate_empty_window_last_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   51,
											},
											File:   "aggregate_empty_window_last_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   51,
												},
												File:   "aggregate_empty_window_last_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   51,
													},
													File:   "aggregate_empty_window_last_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   51,
														},
														File:   "aggregate_empty_window_last_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   51,
														},
														File:   "aggregate_empty_window_last_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   51,
											},
											File:   "aggregate_empty_window_last_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   51,
												},
												File:   "aggregate_empty_window_last_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   51,
													},
													File:   "aggregate_empty_window_last_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   51,
													},
													File:   "aggregate_empty_window_last_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   54,
										},
										File:   "aggregate_empty_window_last_test.flux",
										Source: "fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: last)",
										Start: ast.Position{
											Column: 5,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   52,
											},
											File:   "aggregate_empty_window_last_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   54,
											},
											File:   "aggregate_empty_window_last_test.flux",
											Source: "(table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: last)",
											Start: ast.Position{
												Column: 9,
												Line:   52,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   52,
														},
														File:   "aggregate_empty_window_last_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 23,
															Line:   52,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   53,
													},
													File:   "aggregate_empty_window_last_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 23,
														Line:   52,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   53,
															},
															File:   "aggregate_empty_window_last_test.flux",
															Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   53,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   53,
																},
																File:   "aggregate_empty_window_last_test.flux",
																Source: "start: 2018-05-22T19:53:26Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_last_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   53,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_last_test.flux",
																	Source: "2018-05-22T19:53:26Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   53,
																},
																File:   "aggregate_empty_window_last_test.flux",
																Source: "stop: 2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 47,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 51,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_last_test.flux",
																	Source: "stop",
																	Start: ast.Position{
																		Column: 47,
																		Line:   53,
																	},
																},
															},
															Name: "stop",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 73,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_last_test.flux",
																	Source: "2018-05-22T19:55:00Z",
																	Start: ast.Position{
																		Column: 53,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   53,
														},
														File:   "aggregate_empty_window_last_test.flux",
														Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   53,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   53,
															},
															File:   "aggregate_empty_window_last_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   53,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   54,
												},
												File:   "aggregate_empty_window_last_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: last)",
												Start: ast.Position{
													Column: 23,
													Line:   52,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   54,
														},
														File:   "aggregate_empty_window_last_test.flux",
														Source: "every: 30s, fn: last",
														Start: ast.Position{
															Column: 28,
															Line:   54,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   54,
															},
															File:   "aggregate_empty_window_last_test.flux",
															Source: "every: 30s",
															Start: ast.Position{
																Column: 28,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   54,
																},
																File:   "aggregate_empty_window_last_test.flux",
																Source: "every",
																Start: ast.Position{
																	Column: 28,
																	Line:   54,
																},
															},
														},
														Name: "every",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   54,
																},
																File:   "aggregate_empty_window_last_test.flux",
																Source: "30s",
																Start: ast.Position{
																	Column: 35,
																	Line:   54,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(30),
															Unit:      "s",
														}},
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 48,
																Line:   54,
															},
															File:   "aggregate_empty_window_last_test.flux",
															Source: "fn: last",
															Start: ast.Position{
																Column: 40,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 42,
																	Line:   54,
																},
																File:   "aggregate_empty_window_last_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 40,
																	Line:   54,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 48,
																	Line:   54,
																},
																File:   "aggregate_empty_window_last_test.flux",
																Source: "last",
																Start: ast.Position{
																	Column: 44,
																	Line:   54,
																},
															},
														},
														Name: "last",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   54,
													},
													File:   "aggregate_empty_window_last_test.flux",
													Source: "aggregateWindow(every: 30s, fn: last)",
													Start: ast.Position{
														Column: 12,
														Line:   54,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   54,
														},
														File:   "aggregate_empty_window_last_test.flux",
														Source: "aggregateWindow",
														Start: ast.Position{
															Column: 12,
															Line:   54,
														},
													},
												},
												Name: "aggregateWindow",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_last_test.flux",
												Source: "table=<-",
												Start: ast.Position{
													Column: 10,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   52,
													},
													File:   "aggregate_empty_window_last_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   52,
													},
												},
											},
											Name: "table",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_last_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 16,
													Line:   52,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   55,
					},
					File:   "aggregate_empty_window_last_test.flux",
					Source: "test aggregate_window_empty_last = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: last),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_empty_window_last_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_empty_window_last_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_empty_window_last_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_empty_window_last_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_empty_window_last_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   55,
				},
				File:   "aggregate_empty_window_max_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,91.0977744436109\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,87.88598574821853\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"\n\ntest aggregate_window_empty_max = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: max),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "aggregate_empty_window_max_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "aggregate_empty_window_max_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "aggregate_empty_window_max_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "aggregate_empty_window_max_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,91.0977744436109\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,87.88598574821853\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "aggregate_empty_window_max_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "aggregate_empty_window_max_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,91.0977744436109\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,87.88598574821853\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,91.0977744436109\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,87.88598574821853\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   55,
						},
						File:   "aggregate_empty_window_max_test.flux",
						Source: "aggregate_window_empty_max = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: max),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   49,
							},
							File:   "aggregate_empty_window_max_test.flux",
							Source: "aggregate_window_empty_max",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "aggregate_window_empty_max",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   55,
							},
							File:   "aggregate_empty_window_max_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: max),\n})",
							Start: ast.Position{
								Column: 35,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   55,
								},
								File:   "aggregate_empty_window_max_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: max),\n})",
								Start: ast.Position{
									Column: 41,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   55,
									},
									File:   "aggregate_empty_window_max_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: max),\n}",
									Start: ast.Position{
										Column: 42,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   50,
										},
										File:   "aggregate_empty_window_max_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   50,
											},
											File:   "aggregate_empty_window_max_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   50,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   50,
												},
												File:   "aggregate_empty_window_max_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   50,
													},
													File:   "aggregate_empty_window_max_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   50,
														},
														File:   "aggregate_empty_window_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   50,
														},
														File:   "aggregate_empty_window_max_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   50,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   50,
											},
											File:   "aggregate_empty_window_max_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "aggregate_empty_window_max_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "aggregate_empty_window_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   50,
													},
													File:   "aggregate_empty_window_max_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   50,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   51,
										},
										File:   "aggregate_empty_window_max_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   51,
											},
											File:   "aggregate_empty_window_max_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   51,
												},
												File:   "aggregate_empty_window_max_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   51,
													},
													File:   "aggregate_empty_window_max_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   51,
														},
														File:   "aggregate_empty_window_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   51,
														},
														File:   "aggregate_empty_window_max_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   51,
											},
											File:   "aggregate_empty_window_max_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   51,
												},
												File:   "aggregate_empty_window_max_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   51,
													},
													File:   "aggregate_empty_window_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   51,
													},
													File:   "aggregate_empty_window_max_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   54,
										},
										File:   "aggregate_empty_window_max_test.flux",
										Source: "fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: max)",
										Start: ast.Position{
											Column: 5,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   52,
											},
											File:   "aggregate_empty_window_max_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   54,
											},
											File:   "aggregate_empty_window_max_test.flux",
											Source: "(table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: max)",
											Start: ast.Position{
												Column: 9,
												Line:   52,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   52,
														},
														File:   "aggregate_empty_window_max_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 23,
															Line:   52,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   53,
													},
													File:   "aggregate_empty_window_max_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 23,
														Line:   52,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   53,
															},
															File:   "aggregate_empty_window_max_test.flux",
															Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   53,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   53,
																},
																File:   "aggregate_empty_window_max_test.flux",
																Source: "start: 2018-05-22T19:53:26Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_max_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   53,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_max_test.flux",
																	Source: "2018-05-22T19:53:26Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   53,
																},
																File:   "aggregate_empty_window_max_test.flux",
																Source: "stop: 2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 47,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 51,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_max_test.flux",
																	Source: "stop",
																	Start: ast.Position{
																		Column: 47,
																		Line:   53,
																	},
																},
															},
															Name: "stop",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 73,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_max_test.flux",
																	Source: "2018-05-22T19:55:00Z",
																	Start: ast.Position{
																		Column: 53,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   53,
														},
														File:   "aggregate_empty_window_max_test.flux",
														Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   53,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   53,
															},
															File:   "aggregate_empty_window_max_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   53,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   54,
												},
												File:   "aggregate_empty_window_max_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: max)",
												Start: ast.Position{
													Column: 23,
													Line:   52,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   54,
														},
														File:   "aggregate_empty_window_max_test.flux",
														Source: "every: 30s, fn: max",
														Start: ast.Position{
															Column: 28,
															Line:   54,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   54,
															},
															File:   "aggregate_empty_window_max_test.flux",
															Source: "every: 30s",
															Start: ast.Position{
																Column: 28,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   54,
																},
																File:   "aggregate_empty_window_max_test.flux",
																Source: "every",
																Start: ast.Position{
																	Column: 28,
																	Line:   54,
																},
															},
														},
														Name: "every",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   54,
																},
																File:   "aggregate_empty_window_max_test.flux",
																Source: "30s",
																Start: ast.Position{
																	Column: 35,
																	Line:   54,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(30),
															Unit:      "s",
														}},
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   54,
															},
															File:   "aggregate_empty_window_max_test.flux",
															Source: "fn: max",
															Start: ast.Position{
																Column: 40,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 42,
																	Line:   54,
																},
																File:   "aggregate_empty_window_max_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 40,
																	Line:   54,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   54,
																},
																File:   "aggregate_empty_window_max_test.flux",
																Source: "max",
																Start: ast.Position{
																	Column: 44,
																	Line:   54,
																},
															},
														},
														Name: "max",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   54,
													},
													File:   "aggregate_empty_window_max_test.flux",
													Source: "aggregateWindow(every: 30s, fn: max)",
													Start: ast.Position{
														Column: 12,
														Line:   54,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   54,
														},
														File:   "aggregate_empty_window_max_test.flux",
														Source: "aggregateWindow",
														Start: ast.Position{
															Column: 12,
															Line:   54,
														},
													},
												},
												Name: "aggregateWindow",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_max_test.flux",
												Source: "table=<-",
												Start: ast.Position{
													Column: 10,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   52,
													},
													File:   "aggregate_empty_window_max_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   52,
													},
												},
											},
											Name: "table",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_max_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 16,
													Line:   52,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   55,
					},
					File:   "aggregate_empty_window_max_test.flux",
					Source: "test aggregate_window_empty_max = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: max),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_empty_window_max_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_empty_window_max_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_empty_window_max_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_empty_window_max_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_empty_window_max_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   55,
				},
				File:   "aggregate_empty_window_mean_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,90.54577590186233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,78.09528094612728\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"\n\ntest aggregate_window_empty_mean = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: mean),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "aggregate_empty_window_mean_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "aggregate_empty_window_mean_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "aggregate_empty_window_mean_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "aggregate_empty_window_mean_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,90.54577590186233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,78.09528094612728\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "aggregate_empty_window_mean_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "aggregate_empty_window_mean_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,90.54577590186233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,78.09528094612728\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,90.54577590186233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,78.09528094612728\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   55,
						},
						File:   "aggregate_empty_window_mean_test.flux",
						Source: "aggregate_window_empty_mean = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: mean),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   49,
							},
							File:   "aggregate_empty_window_mean_test.flux",
							Source: "aggregate_window_empty_mean",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "aggregate_window_empty_mean",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   55,
							},
							File:   "aggregate_empty_window_mean_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: mean),\n})",
							Start: ast.Position{
								Column: 36,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   55,
								},
								File:   "aggregate_empty_window_mean_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: mean),\n})",
								Start: ast.Position{
									Column: 42,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   55,
									},
									File:   "aggregate_empty_window_mean_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: mean),\n}",
									Start: ast.Position{
										Column: 43,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   50,
										},
										File:   "aggregate_empty_window_mean_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   50,
											},
											File:   "aggregate_empty_window_mean_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   50,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   50,
												},
												File:   "aggregate_empty_window_mean_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   50,
													},
													File:   "aggregate_empty_window_mean_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   50,
														},
														File:   "aggregate_empty_window_mean_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   50,
														},
														File:   "aggregate_empty_window_mean_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   50,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   50,
											},
											File:   "aggregate_empty_window_mean_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "aggregate_empty_window_mean_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "aggregate_empty_window_mean_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   50,
													},
													File:   "aggregate_empty_window_mean_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   50,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   51,
										},
										File:   "aggregate_empty_window_mean_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   51,
											},
											File:   "aggregate_empty_window_mean_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   51,
												},
												File:   "aggregate_empty_window_mean_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   51,
													},
													File:   "aggregate_empty_window_mean_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   51,
														},
														File:   "aggregate_empty_window_mean_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   51,
														},
														File:   "aggregate_empty_window_mean_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   51,
											},
											File:   "aggregate_empty_window_mean_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   51,
												},
												File:   "aggregate_empty_window_mean_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   51,
													},
													File:   "aggregate_empty_window_mean_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   51,
													},
													File:   "aggregate_empty_window_mean_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   54,
										},
										File:   "aggregate_empty_window_mean_test.flux",
										Source: "fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: mean)",
										Start: ast.Position{
											Column: 5,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   52,
											},
											File:   "aggregate_empty_window_mean_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   54,
											},
											File:   "aggregate_empty_window_mean_test.flux",
											Source: "(table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: mean)",
											Start: ast.Position{
												Column: 9,
												Line:   52,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   52,
														},
														File:   "aggregate_empty_window_mean_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 23,
															Line:   52,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   53,
													},
													File:   "aggregate_empty_window_mean_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 23,
														Line:   52,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   53,
															},
															File:   "aggregate_empty_window_mean_test.flux",
															Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   53,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   53,
																},
																File:   "aggregate_empty_window_mean_test.flux",
																Source: "start: 2018-05-22T19:53:26Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_mean_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   53,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_mean_test.flux",
																	Source: "2018-05-22T19:53:26Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   53,
																},
																File:   "aggregate_empty_window_mean_test.flux",
																Source: "stop: 2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 47,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 51,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_mean_test.flux",
																	Source: "stop",
																	Start: ast.Position{
																		Column: 47,
																		Line:   53,
																	},
																},
															},
															Name: "stop",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 73,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_mean_test.flux",
																	Source: "2018-05-22T19:55:00Z",
																	Start: ast.Position{
																		Column: 53,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   53,
														},
														File:   "aggregate_empty_window_mean_test.flux",
														Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   53,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   53,
															},
															File:   "aggregate_empty_window_mean_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   53,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   54,
												},
												File:   "aggregate_empty_window_mean_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: mean)",
												Start: ast.Position{
													Column: 23,
													Line:   52,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   54,
														},
														File:   "aggregate_empty_window_mean_test.flux",
														Source: "every: 30s, fn: mean",
														Start: ast.Position{
															Column: 28,
															Line:   54,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   54,
															},
															File:   "aggregate_empty_window_mean_test.flux",
															Source: "every: 30s",
															Start: ast.Position{
																Column: 28,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   54,
																},
																File:   "aggregate_empty_window_mean_test.flux",
																Source: "every",
																Start: ast.Position{
																	Column: 28,
																	Line:   54,
																},
															},
														},
														Name: "every",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   54,
																},
																File:   "aggregate_empty_window_mean_test.flux",
																Source: "30s",
																Start: ast.Position{
																	Column: 35,
																	Line:   54,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(30),
															Unit:      "s",
														}},
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 48,
																Line:   54,
															},
															File:   "aggregate_empty_window_mean_test.flux",
															Source: "fn: mean",
															Start: ast.Position{
																Column: 40,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 42,
																	Line:   54,
																},
																File:   "aggregate_empty_window_mean_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 40,
																	Line:   54,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 48,
																	Line:   54,
																},
																File:   "aggregate_empty_window_mean_test.flux",
																Source: "mean",
																Start: ast.Position{
																	Column: 44,
																	Line:   54,
																},
															},
														},
														Name: "mean",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   54,
													},
													File:   "aggregate_empty_window_mean_test.flux",
													Source: "aggregateWindow(every: 30s, fn: mean)",
													Start: ast.Position{
														Column: 12,
														Line:   54,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   54,
														},
														File:   "aggregate_empty_window_mean_test.flux",
														Source: "aggregateWindow",
														Start: ast.Position{
															Column: 12,
															Line:   54,
														},
													},
												},
												Name: "aggregateWindow",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_mean_test.flux",
												Source: "table=<-",
												Start: ast.Position{
													Column: 10,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   52,
													},
													File:   "aggregate_empty_window_mean_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   52,
													},
												},
											},
											Name: "table",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_mean_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 16,
													Line:   52,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   55,
					},
					File:   "aggregate_empty_window_mean_test.flux",
					Source: "test aggregate_window_empty_mean = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: mean),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_empty_window_mean_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_empty_window_mean_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_empty_window_mean_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_empty_window_mean_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_empty_window_mean_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   55,
				},
				File:   "aggregate_empty_window_min_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,89.51118889861233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,68.304576144036\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"\n\ntest aggregate_window_empty_min = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: min),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "aggregate_empty_window_min_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "aggregate_empty_window_min_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "aggregate_empty_window_min_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "aggregate_empty_window_min_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,89.51118889861233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,68.304576144036\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "aggregate_empty_window_min_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "aggregate_empty_window_min_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,89.51118889861233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,68.304576144036\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,89.51118889861233\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,68.304576144036\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   55,
						},
						File:   "aggregate_empty_window_min_test.flux",
						Source: "aggregate_window_empty_min = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: min),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   49,
							},
							File:   "aggregate_empty_window_min_test.flux",
							Source: "aggregate_window_empty_min",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "aggregate_window_empty_min",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   55,
							},
							File:   "aggregate_empty_window_min_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: min),\n})",
							Start: ast.Position{
								Column: 35,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   55,
								},
								File:   "aggregate_empty_window_min_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: min),\n})",
								Start: ast.Position{
									Column: 41,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   55,
									},
									File:   "aggregate_empty_window_min_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: min),\n}",
									Start: ast.Position{
										Column: 42,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   50,
										},
										File:   "aggregate_empty_window_min_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   50,
											},
											File:   "aggregate_empty_window_min_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   50,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   50,
												},
												File:   "aggregate_empty_window_min_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   50,
													},
													File:   "aggregate_empty_window_min_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   50,
														},
														File:   "aggregate_empty_window_min_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   50,
														},
														File:   "aggregate_empty_window_min_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   50,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   50,
											},
											File:   "aggregate_empty_window_min_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "aggregate_empty_window_min_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "aggregate_empty_window_min_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   50,
													},
													File:   "aggregate_empty_window_min_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   50,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   51,
										},
										File:   "aggregate_empty_window_min_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   51,
											},
											File:   "aggregate_empty_window_min_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   51,
												},
												File:   "aggregate_empty_window_min_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   51,
													},
													File:   "aggregate_empty_window_min_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   51,
														},
														File:   "aggregate_empty_window_min_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   51,
														},
														File:   "aggregate_empty_window_min_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   51,
											},
											File:   "aggregate_empty_window_min_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   51,
												},
												File:   "aggregate_empty_window_min_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   51,
													},
													File:   "aggregate_empty_window_min_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   51,
													},
													File:   "aggregate_empty_window_min_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   54,
										},
										File:   "aggregate_empty_window_min_test.flux",
										Source: "fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: min)",
										Start: ast.Position{
											Column: 5,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   52,
											},
											File:   "aggregate_empty_window_min_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   54,
											},
											File:   "aggregate_empty_window_min_test.flux",
											Source: "(table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: min)",
											Start: ast.Position{
												Column: 9,
												Line:   52,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   52,
														},
														File:   "aggregate_empty_window_min_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 23,
															Line:   52,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   53,
													},
													File:   "aggregate_empty_window_min_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 23,
														Line:   52,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   53,
															},
															File:   "aggregate_empty_window_min_test.flux",
															Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   53,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   53,
																},
																File:   "aggregate_empty_window_min_test.flux",
																Source: "start: 2018-05-22T19:53:26Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_min_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   53,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_min_test.flux",
																	Source: "2018-05-22T19:53:26Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   53,
																},
																File:   "aggregate_empty_window_min_test.flux",
																Source: "stop: 2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 47,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 51,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_min_test.flux",
																	Source: "stop",
																	Start: ast.Position{
																		Column: 47,
																		Line:   53,
																	},
																},
															},
															Name: "stop",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 73,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_min_test.flux",
																	Source: "2018-05-22T19:55:00Z",
																	Start: ast.Position{
																		Column: 53,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   53,
														},
														File:   "aggregate_empty_window_min_test.flux",
														Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   53,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   53,
															},
															File:   "aggregate_empty_window_min_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   53,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   54,
												},
												File:   "aggregate_empty_window_min_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: min)",
												Start: ast.Position{
													Column: 23,
													Line:   52,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   54,
														},
														File:   "aggregate_empty_window_min_test.flux",
														Source: "every: 30s, fn: min",
														Start: ast.Position{
															Column: 28,
															Line:   54,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   54,
															},
															File:   "aggregate_empty_window_min_test.flux",
															Source: "every: 30s",
															Start: ast.Position{
																Column: 28,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   54,
																},
																File:   "aggregate_empty_window_min_test.flux",
																Source: "every",
																Start: ast.Position{
																	Column: 28,
																	Line:   54,
																},
															},
														},
														Name: "every",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   54,
																},
																File:   "aggregate_empty_window_min_test.flux",
																Source: "30s",
																Start: ast.Position{
																	Column: 35,
																	Line:   54,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(30),
															Unit:      "s",
														}},
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   54,
															},
															File:   "aggregate_empty_window_min_test.flux",
															Source: "fn: min",
															Start: ast.Position{
																Column: 40,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 42,
																	Line:   54,
																},
																File:   "aggregate_empty_window_min_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 40,
																	Line:   54,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   54,
																},
																File:   "aggregate_empty_window_min_test.flux",
																Source: "min",
																Start: ast.Position{
																	Column: 44,
																	Line:   54,
																},
															},
														},
														Name: "min",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   54,
													},
													File:   "aggregate_empty_window_min_test.flux",
													Source: "aggregateWindow(every: 30s, fn: min)",
													Start: ast.Position{
														Column: 12,
														Line:   54,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   54,
														},
														File:   "aggregate_empty_window_min_test.flux",
														Source: "aggregateWindow",
														Start: ast.Position{
															Column: 12,
															Line:   54,
														},
													},
												},
												Name: "aggregateWindow",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_min_test.flux",
												Source: "table=<-",
												Start: ast.Position{
													Column: 10,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   52,
													},
													File:   "aggregate_empty_window_min_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   52,
													},
												},
											},
											Name: "table",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_min_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 16,
													Line:   52,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   55,
					},
					File:   "aggregate_empty_window_min_test.flux",
					Source: "test aggregate_window_empty_min = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: min),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_empty_window_min_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_empty_window_min_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_empty_window_min_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_empty_window_min_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_empty_window_min_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   55,
				},
				File:   "aggregate_empty_window_sum_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,271.637327705587\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,156.19056189225455\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"\n\ntest aggregate_window_empty_sum = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "aggregate_empty_window_sum_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "aggregate_empty_window_sum_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "aggregate_empty_window_sum_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "aggregate_empty_window_sum_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,271.637327705587\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,156.19056189225455\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "aggregate_empty_window_sum_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "aggregate_empty_window_sum_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,271.637327705587\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,156.19056189225455\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,271.637327705587\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,156.19056189225455\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,\r\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   55,
						},
						File:   "aggregate_empty_window_sum_test.flux",
						Source: "aggregate_window_empty_sum = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   49,
							},
							File:   "aggregate_empty_window_sum_test.flux",
							Source: "aggregate_window_empty_sum",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "aggregate_window_empty_sum",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   55,
							},
							File:   "aggregate_empty_window_sum_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum),\n})",
							Start: ast.Position{
								Column: 35,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   55,
								},
								File:   "aggregate_empty_window_sum_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum),\n})",
								Start: ast.Position{
									Column: 41,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   55,
									},
									File:   "aggregate_empty_window_sum_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum),\n}",
									Start: ast.Position{
										Column: 42,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   50,
										},
										File:   "aggregate_empty_window_sum_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   50,
											},
											File:   "aggregate_empty_window_sum_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   50,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   50,
												},
												File:   "aggregate_empty_window_sum_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   50,
													},
													File:   "aggregate_empty_window_sum_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   50,
														},
														File:   "aggregate_empty_window_sum_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   50,
														},
														File:   "aggregate_empty_window_sum_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   50,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   50,
											},
											File:   "aggregate_empty_window_sum_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "aggregate_empty_window_sum_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "aggregate_empty_window_sum_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   50,
													},
													File:   "aggregate_empty_window_sum_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   50,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   51,
										},
										File:   "aggregate_empty_window_sum_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   51,
											},
											File:   "aggregate_empty_window_sum_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   51,
												},
												File:   "aggregate_empty_window_sum_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   51,
													},
													File:   "aggregate_empty_window_sum_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   51,
														},
														File:   "aggregate_empty_window_sum_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   51,
														},
														File:   "aggregate_empty_window_sum_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   51,
											},
											File:   "aggregate_empty_window_sum_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   51,
												},
												File:   "aggregate_empty_window_sum_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   51,
													},
													File:   "aggregate_empty_window_sum_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   51,
													},
													File:   "aggregate_empty_window_sum_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   54,
										},
										File:   "aggregate_empty_window_sum_test.flux",
										Source: "fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)",
										Start: ast.Position{
											Column: 5,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   52,
											},
											File:   "aggregate_empty_window_sum_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   54,
											},
											File:   "aggregate_empty_window_sum_test.flux",
											Source: "(table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)",
											Start: ast.Position{
												Column: 9,
												Line:   52,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   52,
														},
														File:   "aggregate_empty_window_sum_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 23,
															Line:   52,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   53,
													},
													File:   "aggregate_empty_window_sum_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 23,
														Line:   52,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   53,
															},
															File:   "aggregate_empty_window_sum_test.flux",
															Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   53,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   53,
																},
																File:   "aggregate_empty_window_sum_test.flux",
																Source: "start: 2018-05-22T19:53:26Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_sum_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   53,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_sum_test.flux",
																	Source: "2018-05-22T19:53:26Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   53,
																},
																File:   "aggregate_empty_window_sum_test.flux",
																Source: "stop: 2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 47,
																	Line:   53,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 51,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_sum_test.flux",
																	Source: "stop",
																	Start: ast.Position{
																		Column: 47,
																		Line:   53,
																	},
																},
															},
															Name: "stop",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 73,
																		Line:   53,
																	},
																	File:   "aggregate_empty_window_sum_test.flux",
																	Source: "2018-05-22T19:55:00Z",
																	Start: ast.Position{
																		Column: 53,
																		Line:   53,
																	},
																},
															},
															Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   53,
														},
														File:   "aggregate_empty_window_sum_test.flux",
														Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   53,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   53,
															},
															File:   "aggregate_empty_window_sum_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   53,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   54,
												},
												File:   "aggregate_empty_window_sum_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)",
												Start: ast.Position{
													Column: 23,
													Line:   52,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   54,
														},
														File:   "aggregate_empty_window_sum_test.flux",
														Source: "every: 30s, fn: sum",
														Start: ast.Position{
															Column: 28,
															Line:   54,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   54,
															},
															File:   "aggregate_empty_window_sum_test.flux",
															Source: "every: 30s",
															Start: ast.Position{
																Column: 28,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   54,
																},
																File:   "aggregate_empty_window_sum_test.flux",
																Source: "every",
																Start: ast.Position{
																	Column: 28,
																	Line:   54,
																},
															},
														},
														Name: "every",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   54,
																},
																File:   "aggregate_empty_window_sum_test.flux",
																Source: "30s",
																Start: ast.Position{
																	Column: 35,
																	Line:   54,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(30),
															Unit:      "s",
														}},
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   54,
															},
															File:   "aggregate_empty_window_sum_test.flux",
															Source: "fn: sum",
															Start: ast.Position{
																Column: 40,
																Line:   54,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 42,
																	Line:   54,
																},
																File:   "aggregate_empty_window_sum_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 40,
																	Line:   54,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   54,
																},
																File:   "aggregate_empty_window_sum_test.flux",
																Source: "sum",
																Start: ast.Position{
																	Column: 44,
																	Line:   54,
																},
															},
														},
														Name: "sum",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   54,
													},
													File:   "aggregate_empty_window_sum_test.flux",
													Source: "aggregateWindow(every: 30s, fn: sum)",
													Start: ast.Position{
														Column: 12,
														Line:   54,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   54,
														},
														File:   "aggregate_empty_window_sum_test.flux",
														Source: "aggregateWindow",
														Start: ast.Position{
															Column: 12,
															Line:   54,
														},
													},
												},
												Name: "aggregateWindow",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_sum_test.flux",
												Source: "table=<-",
												Start: ast.Position{
													Column: 10,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   52,
													},
													File:   "aggregate_empty_window_sum_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   52,
													},
												},
											},
											Name: "table",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_empty_window_sum_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 16,
													Line:   52,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   55,
					},
					File:   "aggregate_empty_window_sum_test.flux",
					Source: "test aggregate_window_empty_sum = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_empty_window_sum_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_empty_window_sum_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_empty_window_sum_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_empty_window_sum_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_empty_window_sum_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   56,
				},
				File:   "aggregate_fill_window_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,271.637327705587\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,156.19056189225455\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,0\r\n\"\n\ntest aggregate_window_fill = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)\n        |> fill(value: 0.0),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "aggregate_fill_window_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "aggregate_fill_window_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "aggregate_fill_window_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,2,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "aggregate_fill_window_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,271.637327705587\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,156.19056189225455\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,0\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "aggregate_fill_window_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "aggregate_fill_window_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,271.637327705587\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,156.19056189225455\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,0\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,double\r\n#group,false,false,true,true,false,true,true,true,true,false\r\n#default,_result,,,,,,,,,\r\n,result,table,_start,_stop,_time,_field,_measurement,cpu,host,_value\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_guest_nice,cpu,cpu-total,host.local,0\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:53:30Z,usage_idle,cpu,cpu-total,host.local,91.7364670583823\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:00Z,usage_idle,cpu,cpu-total,host.local,271.637327705587\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:54:30Z,usage_idle,cpu,cpu-total,host.local,156.19056189225455\r\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:55:00Z,2018-05-22T19:55:00Z,usage_idle,cpu,cpu-total,host.local,0\r\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   56,
						},
						File:   "aggregate_fill_window_test.flux",
						Source: "aggregate_window_fill = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)\n        |> fill(value: 0.0),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   49,
							},
							File:   "aggregate_fill_window_test.flux",
							Source: "aggregate_window_fill",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "aggregate_window_fill",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   56,
							},
							File:   "aggregate_fill_window_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)\n        |> fill(value: 0.0),\n})",
							Start: ast.Position{
								Column: 30,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   56,
								},
								File:   "aggregate_fill_window_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)\n        |> fill(value: 0.0),\n})",
								Start: ast.Position{
									Column: 36,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   56,
									},
									File:   "aggregate_fill_window_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)\n        |> fill(value: 0.0),\n}",
									Start: ast.Position{
										Column: 37,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   50,
										},
										File:   "aggregate_fill_window_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   50,
											},
											File:   "aggregate_fill_window_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   50,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   50,
												},
												File:   "aggregate_fill_window_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   50,
													},
													File:   "aggregate_fill_window_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   50,
														},
														File:   "aggregate_fill_window_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   50,
														},
														File:   "aggregate_fill_window_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   50,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   50,
											},
											File:   "aggregate_fill_window_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "aggregate_fill_window_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "aggregate_fill_window_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   50,
													},
													File:   "aggregate_fill_window_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   50,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   51,
										},
										File:   "aggregate_fill_window_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   51,
											},
											File:   "aggregate_fill_window_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   51,
												},
												File:   "aggregate_fill_window_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   51,
													},
													File:   "aggregate_fill_window_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   51,
														},
														File:   "aggregate_fill_window_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   51,
														},
														File:   "aggregate_fill_window_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   51,
											},
											File:   "aggregate_fill_window_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   51,
												},
												File:   "aggregate_fill_window_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   51,
													},
													File:   "aggregate_fill_window_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   51,
													},
													File:   "aggregate_fill_window_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 28,
											Line:   55,
										},
										File:   "aggregate_fill_window_test.flux",
										Source: "fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)\n        |> fill(value: 0.0)",
										Start: ast.Position{
											Column: 5,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   52,
											},
											File:   "aggregate_fill_window_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   55,
											},
											File:   "aggregate_fill_window_test.flux",
											Source: "(table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)\n        |> fill(value: 0.0)",
											Start: ast.Position{
												Column: 9,
												Line:   52,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.PipeExpression{
												Argument: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 28,
																Line:   52,
															},
															File:   "aggregate_fill_window_test.flux",
															Source: "table",
															Start: ast.Position{
																Column: 23,
																Line:   52,
															},
														},
													},
													Name: "table",
												},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   53,
														},
														File:   "aggregate_fill_window_test.flux",
														Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
														Start: ast.Position{
															Column: 23,
															Line:   52,
														},
													},
												},
												Call: &ast.CallExpression{
													Arguments: []ast.Expression{&ast.ObjectExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   53,
																},
																File:   "aggregate_fill_window_test.flux",
																Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   53,
																},
															},
														},
														Lbrace: nil,
														Properties: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   53,
																	},
																	File:   "aggregate_fill_window_test.flux",
																	Source: "start: 2018-05-22T19:53:26Z",
																	Start: ast.Position{
																		Column: 18,
																		Line:   53,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 23,
																			Line:   53,
																		},
																		File:   "aggregate_fill_window_test.flux",
																		Source: "start",
																		Start: ast.Position{
																			Column: 18,
																			Line:   53,
																		},
																	},
																},
																Name: "start",
															},
															Separator: nil,
															Value: &ast.DateTimeLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 45,
																			Line:   53,
																		},
																		File:   "aggregate_fill_window_test.flux",
																		Source: "2018-05-22T19:53:26Z",
																		Start: ast.Position{
																			Column: 25,
																			Line:   53,
																		},
																	},
																},
																Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
															},
														}, &ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 73,
																		Line:   53,
																	},
																	File:   "aggregate_fill_window_test.flux",
																	Source: "stop: 2018-05-22T19:55:00Z",
																	Start: ast.Position{
																		Column: 47,
																		Line:   53,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 51,
																			Line:   53,
																		},
																		File:   "aggregate_fill_window_test.flux",
																		Source: "stop",
																		Start: ast.Position{
																			Column: 47,
																			Line:   53,
																		},
																	},
																},
																Name: "stop",
															},
															Separator: nil,
															Value: &ast.DateTimeLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 73,
																			Line:   53,
																		},
																		File:   "aggregate_fill_window_test.flux",
																		Source: "2018-05-22T19:55:00Z",
																		Start: ast.Position{
																			Column: 53,
																			Line:   53,
																		},
																	},
																},
																Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
															},
														}},
														Rbrace: nil,
														With:   nil,
													}},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 74,
																Line:   53,
															},
															File:   "aggregate_fill_window_test.flux",
															Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
															Start: ast.Position{
																Column: 12,
																Line:   53,
															},
														},
													},
													Callee: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 17,
																	Line:   53,
																},
																File:   "aggregate_fill_window_test.flux",
																Source: "range",
																Start: ast.Position{
																	Column: 12,
																	Line:   53,
																},
															},
														},
														Name: "range",
													},
													Lparen: nil,
													Rparen: nil,
												},
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   54,
													},
													File:   "aggregate_fill_window_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)",
													Start: ast.Position{
														Column: 23,
														Line:   52,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   54,
															},
															File:   "aggregate_fill_window_test.flux",
															Source: "every: 30s, fn: sum",
															Start: ast.Position{
																Column: 28,
																Line:   54,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   54,
																},
																File:   "aggregate_fill_window_test.flux",
																Source: "every: 30s",
																Start: ast.Position{
																	Column: 28,
																	Line:   54,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 33,
																		Line:   54,
																	},
																	File:   "aggregate_fill_window_test.flux",
																	Source: "every",
																	Start: ast.Position{
																		Column: 28,
																		Line:   54,
																	},
																},
															},
															Name: "every",
														},
														Separator: nil,
														Value: &ast.DurationLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 38,
																		Line:   54,
																	},
																	File:   "aggregate_fill_window_test.flux",
																	Source: "30s",
																	Start: ast.Position{
																		Column: 35,
																		Line:   54,
																	},
																},
															},
															Values: []ast.Duration{ast.Duration{
																Magnitude: int64(30),
																Unit:      "s",
															}},
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   54,
																},
																File:   "aggregate_fill_window_test.flux",
																Source: "fn: sum",
																Start: ast.Position{
																	Column: 40,
																	Line:   54,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 42,
																		Line:   54,
																	},
																	File:   "aggregate_fill_window_test.flux",
																	Source: "fn",
																	Start: ast.Position{
																		Column: 40,
																		Line:   54,
																	},
																},
															},
															Name: "fn",
														},
														Separator: nil,
														Value: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 47,
																		Line:   54,
																	},
																	File:   "aggregate_fill_window_test.flux",
																	Source: "sum",
																	Start: ast.Position{
																		Column: 44,
																		Line:   54,
																	},
																},
															},
															Name: "sum",
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   54,
														},
														File:   "aggregate_fill_window_test.flux",
														Source: "aggregateWindow(every: 30s, fn: sum)",
														Start: ast.Position{
															Column: 12,
															Line:   54,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   54,
															},
															File:   "aggregate_fill_window_test.flux",
															Source: "aggregateWindow",
															Start: ast.Position{
																Column: 12,
																Line:   54,
															},
														},
													},
													Name: "aggregateWindow",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   55,
												},
												File:   "aggregate_fill_window_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)\n        |> fill(value: 0.0)",
												Start: ast.Position{
													Column: 23,
													Line:   52,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   55,
														},
														File:   "aggregate_fill_window_test.flux",
														Source: "value: 0.0",
														Start: ast.Position{
															Column: 17,
															Line:   55,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   55,
															},
															File:   "aggregate_fill_window_test.flux",
															Source: "value: 0.0",
															Start: ast.Position{
																Column: 17,
																Line:   55,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 22,
																	Line:   55,
																},
																File:   "aggregate_fill_window_test.flux",
																Source: "value",
																Start: ast.Position{
																	Column: 17,
																	Line:   55,
																},
															},
														},
														Name: "value",
													},
													Separator: nil,
													Value: &ast.FloatLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 27,
																	Line:   55,
																},
																File:   "aggregate_fill_window_test.flux",
																Source: "0.0",
																Start: ast.Position{
																	Column: 24,
																	Line:   55,
																},
															},
														},
														Value: 0.0,
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   55,
													},
													File:   "aggregate_fill_window_test.flux",
													Source: "fill(value: 0.0)",
													Start: ast.Position{
														Column: 12,
														Line:   55,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 16,
															Line:   55,
														},
														File:   "aggregate_fill_window_test.flux",
														Source: "fill",
														Start: ast.Position{
															Column: 12,
															Line:   55,
														},
													},
												},
												Name: "fill",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_fill_window_test.flux",
												Source: "table=<-",
												Start: ast.Position{
													Column: 10,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   52,
													},
													File:   "aggregate_fill_window_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   52,
													},
												},
											},
											Name: "table",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   52,
												},
												File:   "aggregate_fill_window_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 16,
													Line:   52,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   56,
					},
					File:   "aggregate_fill_window_test.flux",
					Source: "test aggregate_window_fill = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n        |> aggregateWindow(every: 30s, fn: sum)\n        |> fill(value: 0.0),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_fill_window_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_fill_window_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_fill_window_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_fill_window_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_fill_window_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 134,
					Line:   40,
				},
				File:   "aggregate_window_max_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T00:00:00Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:10Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:20Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:30Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:40Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:50Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double\n#group,false,false,true,true,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_field,_measurement,device,fstype,host,path,_value\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/,30\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,35\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,45\n\"\naggregate_window = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> aggregateWindow(every: 30s, fn: max)\n\ntest _aggregate_window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "aggregate_window_max_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "aggregate_window_max_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "aggregate_window_max_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "aggregate_window_max_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "aggregate_window_max_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T00:00:00Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:10Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:20Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:30Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:40Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:50Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T00:00:00Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:10Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:20Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:30Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:40Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:50Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T00:00:00Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:10Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:20Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:30Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:40Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:50Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "aggregate_window_max_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double\n#group,false,false,true,true,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_field,_measurement,device,fstype,host,path,_value\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/,30\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,35\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,45\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double\n#group,false,false,true,true,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_field,_measurement,device,fstype,host,path,_value\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/,30\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,35\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,45\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double\n#group,false,false,true,true,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_field,_measurement,device,fstype,host,path,_value\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/,30\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,35\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,45\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 44,
						Line:   38,
					},
					File:   "aggregate_window_max_test.flux",
					Source: "aggregate_window = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> aggregateWindow(every: 30s, fn: max)",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   36,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "aggregate_window",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "aggregate_window",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 44,
							Line:   38,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> aggregateWindow(every: 30s, fn: max)",
						Start: ast.Position{
							Column: 20,
							Line:   36,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   36,
									},
									File:   "aggregate_window_max_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   36,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   37,
								},
								File:   "aggregate_window_max_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)",
								Start: ast.Position{
									Column: 34,
									Line:   36,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   37,
										},
										File:   "aggregate_window_max_test.flux",
										Source: "start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   37,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   37,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   37,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   37,
												},
												File:   "aggregate_window_max_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   37,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   37,
												},
												File:   "aggregate_window_max_test.flux",
												Source: "2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   37,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   37,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "stop: 2018-05-22T00:01:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   37,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   37,
												},
												File:   "aggregate_window_max_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   37,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   37,
												},
												File:   "aggregate_window_max_test.flux",
												Source: "2018-05-22T00:01:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   37,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:01:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   37,
									},
									File:   "aggregate_window_max_test.flux",
									Source: "range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   37,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   37,
										},
										File:   "aggregate_window_max_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   37,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 44,
								Line:   38,
							},
							File:   "aggregate_window_max_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> aggregateWindow(every: 30s, fn: max)",
							Start: ast.Position{
								Column: 34,
								Line:   36,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   38,
									},
									File:   "aggregate_window_max_test.flux",
									Source: "every: 30s, fn: max",
									Start: ast.Position{
										Column: 24,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 34,
											Line:   38,
										},
										File:   "aggregate_window_max_test.flux",
										Source: "every: 30s",
										Start: ast.Position{
											Column: 24,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   38,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "every",
											Start: ast.Position{
												Column: 24,
												Line:   38,
											},
										},
									},
									Name: "every",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   38,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "30s",
											Start: ast.Position{
												Column: 31,
												Line:   38,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(30),
										Unit:      "s",
									}},
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 43,
											Line:   38,
										},
										File:   "aggregate_window_max_test.flux",
										Source: "fn: max",
										Start: ast.Position{
											Column: 36,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   38,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 36,
												Line:   38,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   38,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "max",
											Start: ast.Position{
												Column: 40,
												Line:   38,
											},
										},
									},
									Name: "max",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 44,
									Line:   38,
								},
								File:   "aggregate_window_max_test.flux",
								Source: "aggregateWindow(every: 30s, fn: max)",
								Start: ast.Position{
									Column: 8,
									Line:   38,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   38,
									},
									File:   "aggregate_window_max_test.flux",
									Source: "aggregateWindow",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Name: "aggregateWindow",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   36,
							},
							File:   "aggregate_window_max_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   36,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   36,
								},
								File:   "aggregate_window_max_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   36,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   36,
							},
							File:   "aggregate_window_max_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   36,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 134,
							Line:   40,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "_aggregate_window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
						Start: ast.Position{
							Column: 6,
							Line:   40,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   40,
							},
							File:   "aggregate_window_max_test.flux",
							Source: "_aggregate_window",
							Start: ast.Position{
								Column: 6,
								Line:   40,
							},
						},
					},
					Name: "_aggregate_window",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 134,
								Line:   40,
							},
							File:   "aggregate_window_max_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
							Start: ast.Position{
								Column: 26,
								Line:   40,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 134,
									Line:   40,
								},
								File:   "aggregate_window_max_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
								Start: ast.Position{
									Column: 32,
									Line:   40,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 133,
										Line:   40,
									},
									File:   "aggregate_window_max_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window}",
									Start: ast.Position{
										Column: 33,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 73,
											Line:   40,
										},
										File:   "aggregate_window_max_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 34,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 39,
												Line:   40,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 34,
												Line:   40,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   40,
												},
												File:   "aggregate_window_max_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 61,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 72,
														Line:   40,
													},
													File:   "aggregate_window_max_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 61,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   40,
														},
														File:   "aggregate_window_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 61,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   40,
														},
														File:   "aggregate_window_max_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 66,
															Line:   40,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   40,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 41,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   40,
												},
												File:   "aggregate_window_max_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 41,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   40,
													},
													File:   "aggregate_window_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 41,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   40,
													},
													File:   "aggregate_window_max_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 49,
														Line:   40,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   40,
										},
										File:   "aggregate_window_max_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 75,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   40,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 75,
												Line:   40,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 109,
													Line:   40,
												},
												File:   "aggregate_window_max_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 97,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 109,
														Line:   40,
													},
													File:   "aggregate_window_max_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 97,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   40,
														},
														File:   "aggregate_window_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 97,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 109,
															Line:   40,
														},
														File:   "aggregate_window_max_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 102,
															Line:   40,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   40,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 81,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   40,
												},
												File:   "aggregate_window_max_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 81,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   40,
													},
													File:   "aggregate_window_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 81,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   40,
													},
													File:   "aggregate_window_max_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 89,
														Line:   40,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 132,
											Line:   40,
										},
										File:   "aggregate_window_max_test.flux",
										Source: "fn: aggregate_window",
										Start: ast.Position{
											Column: 112,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   40,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 112,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 132,
												Line:   40,
											},
											File:   "aggregate_window_max_test.flux",
											Source: "aggregate_window",
											Start: ast.Position{
												Column: 116,
												Line:   40,
											},
										},
									},
									Name: "aggregate_window",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 134,
						Line:   40,
					},
					File:   "aggregate_window_max_test.flux",
					Source: "test _aggregate_window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_window_max_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_window_max_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_window_max_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_window_max_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 134,
					Line:   40,
				},
				File:   "aggregate_window_mean_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T00:00:00Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:10Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:20Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:30Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:40Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:50Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double\n#group,false,false,true,true,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_field,_measurement,device,fstype,host,path,_value\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/,30\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,35\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,45\n\"\naggregate_window = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> aggregateWindow(every: 30s, fn: mean)\n\ntest _aggregate_window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "aggregate_window_mean_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "aggregate_window_mean_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "aggregate_window_mean_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "aggregate_window_mean_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "aggregate_window_mean_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T00:00:00Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:10Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:20Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:30Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:40Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:50Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T00:00:00Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:10Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:20Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:30Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:40Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:50Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T00:00:00Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:10Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:20Z,35,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:30Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:40Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n,,1,2018-05-22T00:00:50Z,45,used_percent,disk,disk1s1,apfs,host.local,/tmp\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "aggregate_window_mean_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double\n#group,false,false,true,true,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_field,_measurement,device,fstype,host,path,_value\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/,30\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,35\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,45\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double\n#group,false,false,true,true,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_field,_measurement,device,fstype,host,path,_value\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/,30\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,35\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,45\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double\n#group,false,false,true,true,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_field,_measurement,device,fstype,host,path,_value\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/,30\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:00:30Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,35\n,,1,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/tmp,45\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 45,
						Line:   38,
					},
					File:   "aggregate_window_mean_test.flux",
					Source: "aggregate_window = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> aggregateWindow(every: 30s, fn: mean)",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   36,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "aggregate_window",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "aggregate_window",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 45,
							Line:   38,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> aggregateWindow(every: 30s, fn: mean)",
						Start: ast.Position{
							Column: 20,
							Line:   36,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   36,
									},
									File:   "aggregate_window_mean_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   36,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   37,
								},
								File:   "aggregate_window_mean_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)",
								Start: ast.Position{
									Column: 34,
									Line:   36,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   37,
										},
										File:   "aggregate_window_mean_test.flux",
										Source: "start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   37,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   37,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   37,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   37,
												},
												File:   "aggregate_window_mean_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   37,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   37,
												},
												File:   "aggregate_window_mean_test.flux",
												Source: "2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   37,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   37,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "stop: 2018-05-22T00:01:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   37,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   37,
												},
												File:   "aggregate_window_mean_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   37,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   37,
												},
												File:   "aggregate_window_mean_test.flux",
												Source: "2018-05-22T00:01:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   37,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:01:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   37,
									},
									File:   "aggregate_window_mean_test.flux",
									Source: "range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   37,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   37,
										},
										File:   "aggregate_window_mean_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   37,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 45,
								Line:   38,
							},
							File:   "aggregate_window_mean_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> aggregateWindow(every: 30s, fn: mean)",
							Start: ast.Position{
								Column: 34,
								Line:   36,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 44,
										Line:   38,
									},
									File:   "aggregate_window_mean_test.flux",
									Source: "every: 30s, fn: mean",
									Start: ast.Position{
										Column: 24,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 34,
											Line:   38,
										},
										File:   "aggregate_window_mean_test.flux",
										Source: "every: 30s",
										Start: ast.Position{
											Column: 24,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   38,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "every",
											Start: ast.Position{
												Column: 24,
												Line:   38,
											},
										},
									},
									Name: "every",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   38,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "30s",
											Start: ast.Position{
												Column: 31,
												Line:   38,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(30),
										Unit:      "s",
									}},
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   38,
										},
										File:   "aggregate_window_mean_test.flux",
										Source: "fn: mean",
										Start: ast.Position{
											Column: 36,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   38,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 36,
												Line:   38,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   38,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "mean",
											Start: ast.Position{
												Column: 40,
												Line:   38,
											},
										},
									},
									Name: "mean",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 45,
									Line:   38,
								},
								File:   "aggregate_window_mean_test.flux",
								Source: "aggregateWindow(every: 30s, fn: mean)",
								Start: ast.Position{
									Column: 8,
									Line:   38,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   38,
									},
									File:   "aggregate_window_mean_test.flux",
									Source: "aggregateWindow",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Name: "aggregateWindow",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   36,
							},
							File:   "aggregate_window_mean_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   36,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   36,
								},
								File:   "aggregate_window_mean_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   36,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   36,
							},
							File:   "aggregate_window_mean_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   36,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 134,
							Line:   40,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "_aggregate_window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
						Start: ast.Position{
							Column: 6,
							Line:   40,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   40,
							},
							File:   "aggregate_window_mean_test.flux",
							Source: "_aggregate_window",
							Start: ast.Position{
								Column: 6,
								Line:   40,
							},
						},
					},
					Name: "_aggregate_window",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 134,
								Line:   40,
							},
							File:   "aggregate_window_mean_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
							Start: ast.Position{
								Column: 26,
								Line:   40,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 134,
									Line:   40,
								},
								File:   "aggregate_window_mean_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
								Start: ast.Position{
									Column: 32,
									Line:   40,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 133,
										Line:   40,
									},
									File:   "aggregate_window_mean_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window}",
									Start: ast.Position{
										Column: 33,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 73,
											Line:   40,
										},
										File:   "aggregate_window_mean_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 34,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 39,
												Line:   40,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 34,
												Line:   40,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   40,
												},
												File:   "aggregate_window_mean_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 61,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 72,
														Line:   40,
													},
													File:   "aggregate_window_mean_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 61,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   40,
														},
														File:   "aggregate_window_mean_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 61,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   40,
														},
														File:   "aggregate_window_mean_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 66,
															Line:   40,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   40,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 41,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   40,
												},
												File:   "aggregate_window_mean_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 41,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   40,
													},
													File:   "aggregate_window_mean_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 41,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   40,
													},
													File:   "aggregate_window_mean_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 49,
														Line:   40,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   40,
										},
										File:   "aggregate_window_mean_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 75,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   40,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 75,
												Line:   40,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 109,
													Line:   40,
												},
												File:   "aggregate_window_mean_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 97,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 109,
														Line:   40,
													},
													File:   "aggregate_window_mean_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 97,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   40,
														},
														File:   "aggregate_window_mean_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 97,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 109,
															Line:   40,
														},
														File:   "aggregate_window_mean_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 102,
															Line:   40,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   40,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 81,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   40,
												},
												File:   "aggregate_window_mean_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 81,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   40,
													},
													File:   "aggregate_window_mean_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 81,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   40,
													},
													File:   "aggregate_window_mean_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 89,
														Line:   40,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 132,
											Line:   40,
										},
										File:   "aggregate_window_mean_test.flux",
										Source: "fn: aggregate_window",
										Start: ast.Position{
											Column: 112,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   40,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 112,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 132,
												Line:   40,
											},
											File:   "aggregate_window_mean_test.flux",
											Source: "aggregate_window",
											Start: ast.Position{
												Column: 116,
												Line:   40,
											},
										},
									},
									Name: "aggregate_window",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 134,
						Line:   40,
					},
					File:   "aggregate_window_mean_test.flux",
					Source: "test _aggregate_window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: aggregate_window})",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_window_mean_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_window_mean_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_window_mean_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_window_mean_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   46,
				},
				File:   "aggregate_window_median_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:00Z,7.940387008821781\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:30Z,34.319039251798635\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:46:00Z,60.590246667535845\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:00Z,-61.68790887989735\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:30Z,-6.3173755351186465\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:46:00Z,22.821813505281843\n\"\nt_aggregate_window_median = (table=<-) => table\n    |> range(start: 2019-01-09T19:44:30Z, stop: 2019-01-09T19:46:00Z)\n    |> aggregateWindow(every: 30s, fn: median)\n\ntest _aggregate_window_median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_aggregate_window_median,\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "aggregate_window_median_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "aggregate_window_median_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "aggregate_window_median_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "aggregate_window_median_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "aggregate_window_median_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "aggregate_window_median_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:00Z,7.940387008821781\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:30Z,34.319039251798635\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:46:00Z,60.590246667535845\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:00Z,-61.68790887989735\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:30Z,-6.3173755351186465\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:46:00Z,22.821813505281843\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:00Z,7.940387008821781\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:30Z,34.319039251798635\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:46:00Z,60.590246667535845\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:00Z,-61.68790887989735\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:30Z,-6.3173755351186465\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:46:00Z,22.821813505281843\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:00Z,7.940387008821781\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:30Z,34.319039251798635\n,,0,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:46:00Z,60.590246667535845\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:00Z,-61.68790887989735\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:30Z,-6.3173755351186465\n,,1,2019-01-09T19:44:30Z,2019-01-09T19:46:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:46:00Z,22.821813505281843\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 47,
						Line:   40,
					},
					File:   "aggregate_window_median_test.flux",
					Source: "t_aggregate_window_median = (table=<-) => table\n    |> range(start: 2019-01-09T19:44:30Z, stop: 2019-01-09T19:46:00Z)\n    |> aggregateWindow(every: 30s, fn: median)",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 26,
							Line:   38,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "t_aggregate_window_median",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_aggregate_window_median",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 47,
							Line:   40,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2019-01-09T19:44:30Z, stop: 2019-01-09T19:46:00Z)\n    |> aggregateWindow(every: 30s, fn: median)",
						Start: ast.Position{
							Column: 29,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   38,
									},
									File:   "aggregate_window_median_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 43,
										Line:   38,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   39,
								},
								File:   "aggregate_window_median_test.flux",
								Source: "table\n    |> range(start: 2019-01-09T19:44:30Z, stop: 2019-01-09T19:46:00Z)",
								Start: ast.Position{
									Column: 43,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   39,
										},
										File:   "aggregate_window_median_test.flux",
										Source: "start: 2019-01-09T19:44:30Z, stop: 2019-01-09T19:46:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "start: 2019-01-09T19:44:30Z",
											Start: ast.Position{
												Column: 14,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   39,
												},
												File:   "aggregate_window_median_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   39,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   39,
												},
												File:   "aggregate_window_median_test.flux",
												Source: "2019-01-09T19:44:30Z",
												Start: ast.Position{
													Column: 21,
													Line:   39,
												},
											},
										},
										Value: parser.MustParseTime("2019-01-09T19:44:30Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   39,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "stop: 2019-01-09T19:46:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   39,
												},
												File:   "aggregate_window_median_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   39,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   39,
												},
												File:   "aggregate_window_median_test.flux",
												Source: "2019-01-09T19:46:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   39,
												},
											},
										},
										Value: parser.MustParseTime("2019-01-09T19:46:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   39,
									},
									File:   "aggregate_window_median_test.flux",
									Source: "range(start: 2019-01-09T19:44:30Z, stop: 2019-01-09T19:46:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   39,
										},
										File:   "aggregate_window_median_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 47,
								Line:   40,
							},
							File:   "aggregate_window_median_test.flux",
							Source: "table\n    |> range(start: 2019-01-09T19:44:30Z, stop: 2019-01-09T19:46:00Z)\n    |> aggregateWindow(every: 30s, fn: median)",
							Start: ast.Position{
								Column: 43,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   40,
									},
									File:   "aggregate_window_median_test.flux",
									Source: "every: 30s, fn: median",
									Start: ast.Position{
										Column: 24,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 34,
											Line:   40,
										},
										File:   "aggregate_window_median_test.flux",
										Source: "every: 30s",
										Start: ast.Position{
											Column: 24,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   40,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "every",
											Start: ast.Position{
												Column: 24,
												Line:   40,
											},
										},
									},
									Name: "every",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   40,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "30s",
											Start: ast.Position{
												Column: 31,
												Line:   40,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(30),
										Unit:      "s",
									}},
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   40,
										},
										File:   "aggregate_window_median_test.flux",
										Source: "fn: median",
										Start: ast.Position{
											Column: 36,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   40,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 36,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   40,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "median",
											Start: ast.Position{
												Column: 40,
												Line:   40,
											},
										},
									},
									Name: "median",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 47,
									Line:   40,
								},
								File:   "aggregate_window_median_test.flux",
								Source: "aggregateWindow(every: 30s, fn: median)",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   40,
									},
									File:   "aggregate_window_median_test.flux",
									Source: "aggregateWindow",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "aggregateWindow",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   38,
							},
							File:   "aggregate_window_median_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 30,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 35,
									Line:   38,
								},
								File:   "aggregate_window_median_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 30,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   38,
							},
							File:   "aggregate_window_median_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 36,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   46,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "_aggregate_window_median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_aggregate_window_median,\n})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   42,
							},
							File:   "aggregate_window_median_test.flux",
							Source: "_aggregate_window_median",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_aggregate_window_median",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   46,
							},
							File:   "aggregate_window_median_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_aggregate_window_median,\n})",
							Start: ast.Position{
								Column: 33,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   46,
								},
								File:   "aggregate_window_median_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_aggregate_window_median,\n})",
								Start: ast.Position{
									Column: 39,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   46,
									},
									File:   "aggregate_window_median_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_aggregate_window_median,\n}",
									Start: ast.Position{
										Column: 40,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   43,
										},
										File:   "aggregate_window_median_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   43,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   43,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   43,
												},
												File:   "aggregate_window_median_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   43,
													},
													File:   "aggregate_window_median_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   43,
														},
														File:   "aggregate_window_median_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   43,
														},
														File:   "aggregate_window_median_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   43,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   43,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   43,
												},
												File:   "aggregate_window_median_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   43,
													},
													File:   "aggregate_window_median_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   43,
													},
													File:   "aggregate_window_median_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   43,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   44,
										},
										File:   "aggregate_window_median_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   44,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   44,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   44,
												},
												File:   "aggregate_window_median_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   44,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   44,
													},
													File:   "aggregate_window_median_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   44,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   44,
														},
														File:   "aggregate_window_median_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   44,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   44,
														},
														File:   "aggregate_window_median_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   44,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   44,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   44,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   44,
												},
												File:   "aggregate_window_median_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   44,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   44,
													},
													File:   "aggregate_window_median_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   44,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   44,
													},
													File:   "aggregate_window_median_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   44,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 34,
											Line:   45,
										},
										File:   "aggregate_window_median_test.flux",
										Source: "fn: t_aggregate_window_median",
										Start: ast.Position{
											Column: 5,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   45,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   45,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   45,
											},
											File:   "aggregate_window_median_test.flux",
											Source: "t_aggregate_window_median",
											Start: ast.Position{
												Column: 9,
												Line:   45,
											},
										},
									},
									Name: "t_aggregate_window_median",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   46,
					},
					File:   "aggregate_window_median_test.flux",
					Source: "test _aggregate_window_median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_aggregate_window_median,\n})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "aggregate_window_median_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "aggregate_window_median_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "aggregate_window_median_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "aggregate_window_median_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 108,
					Line:   73,
				},
				File:   "cmo_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:01:40Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,80,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,60,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,-20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,-40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,-60,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,-80,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n\"\ncmo = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> chandeMomentumOscillator(n: 10)\n\ntest _cmo = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: cmo})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "cmo_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "cmo_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "cmo_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "cmo_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "cmo_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   42,
					},
					File:   "cmo_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "cmo_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   42,
						},
						File:   "cmo_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   67,
					},
					File:   "cmo_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:01:40Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,80,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,60,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,-20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,-40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,-60,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,-80,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   43,
						},
						File:   "cmo_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   43,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   67,
						},
						File:   "cmo_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:01:40Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,80,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,60,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,-20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,-40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,-60,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,-80,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   43,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:01:40Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,80,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,60,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,-20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,-40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,-60,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,-80,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,-100,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 39,
						Line:   71,
					},
					File:   "cmo_test.flux",
					Source: "cmo = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> chandeMomentumOscillator(n: 10)",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 4,
							Line:   68,
						},
						File:   "cmo_test.flux",
						Source: "cmo",
						Start: ast.Position{
							Column: 1,
							Line:   68,
						},
					},
				},
				Name: "cmo",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 39,
							Line:   71,
						},
						File:   "cmo_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> chandeMomentumOscillator(n: 10)",
						Start: ast.Position{
							Column: 7,
							Line:   68,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 26,
											Line:   68,
										},
										File:   "cmo_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 21,
											Line:   68,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   69,
									},
									File:   "cmo_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
									Start: ast.Position{
										Column: 21,
										Line:   68,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   69,
											},
											File:   "cmo_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   69,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   69,
												},
												File:   "cmo_test.flux",
												Source: "start: 2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   69,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   69,
													},
													File:   "cmo_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   69,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   69,
													},
													File:   "cmo_test.flux",
													Source: "2018-05-22T00:00:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   69,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   69,
										},
										File:   "cmo_test.flux",
										Source: "range(start: 2018-05-22T00:00:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   69,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   69,
											},
											File:   "cmo_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   69,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   70,
								},
								File:   "cmo_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 21,
									Line:   68,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   70,
										},
										File:   "cmo_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   70,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   70,
											},
											File:   "cmo_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 13,
												Line:   70,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   70,
												},
												File:   "cmo_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 13,
													Line:   70,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   70,
												},
												File:   "cmo_test.flux",
												Source: "[\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 22,
													Line:   70,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   70,
													},
													File:   "cmo_test.flux",
													Source: "\"_start\"",
													Start: ast.Position{
														Column: 23,
														Line:   70,
													},
												},
											},
											Value: "_start",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   70,
													},
													File:   "cmo_test.flux",
													Source: "\"_stop\"",
													Start: ast.Position{
														Column: 33,
														Line:   70,
													},
												},
											},
											Value: "_stop",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   70,
									},
									File:   "cmo_test.flux",
									Source: "drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 8,
										Line:   70,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   70,
										},
										File:   "cmo_test.flux",
										Source: "drop",
										Start: ast.Position{
											Column: 8,
											Line:   70,
										},
									},
								},
								Name: "drop",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   71,
							},
							File:   "cmo_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> chandeMomentumOscillator(n: 10)",
							Start: ast.Position{
								Column: 21,
								Line:   68,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   71,
									},
									File:   "cmo_test.flux",
									Source: "n: 10",
									Start: ast.Position{
										Column: 33,
										Line:   71,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   71,
										},
										File:   "cmo_test.flux",
										Source: "n: 10",
										Start: ast.Position{
											Column: 33,
											Line:   71,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   71,
											},
											File:   "cmo_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 33,
												Line:   71,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   71,
											},
											File:   "cmo_test.flux",
											Source: "10",
											Start: ast.Position{
												Column: 36,
												Line:   71,
											},
										},
									},
									Value: int64(10),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   71,
								},
								File:   "cmo_test.flux",
								Source: "chandeMomentumOscillator(n: 10)",
								Start: ast.Position{
									Column: 8,
									Line:   71,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 32,
										Line:   71,
									},
									File:   "cmo_test.flux",
									Source: "chandeMomentumOscillator",
									Start: ast.Position{
										Column: 8,
										Line:   71,
									},
								},
							},
							Name: "chandeMomentumOscillator",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   68,
							},
							File:   "cmo_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 8,
								Line:   68,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   68,
								},
								File:   "cmo_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 8,
									Line:   68,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   68,
							},
							File:   "cmo_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 14,
								Line:   68,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 108,
							Line:   73,
						},
						File:   "cmo_test.flux",
						Source: "_cmo = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: cmo})",
						Start: ast.Position{
							Column: 6,
							Line:   73,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   73,
							},
							File:   "cmo_test.flux",
							Source: "_cmo",
							Start: ast.Position{
								Column: 6,
								Line:   73,
							},
						},
					},
					Name: "_cmo",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 108,
								Line:   73,
							},
							File:   "cmo_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: cmo})",
							Start: ast.Position{
								Column: 13,
								Line:   73,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 108,
									Line:   73,
								},
								File:   "cmo_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: cmo})",
								Start: ast.Position{
									Column: 19,
									Line:   73,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 107,
										Line:   73,
									},
									File:   "cmo_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: cmo}",
									Start: ast.Position{
										Column: 20,
										Line:   73,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   73,
										},
										File:   "cmo_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   73,
											},
											File:   "cmo_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   73,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   73,
												},
												File:   "cmo_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   73,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   73,
													},
													File:   "cmo_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   73,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   73,
														},
														File:   "cmo_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   73,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   73,
														},
														File:   "cmo_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   73,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   73,
											},
											File:   "cmo_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   73,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   73,
												},
												File:   "cmo_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   73,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   73,
													},
													File:   "cmo_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   73,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   73,
													},
													File:   "cmo_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   73,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   73,
										},
										File:   "cmo_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   73,
											},
											File:   "cmo_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   73,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   73,
												},
												File:   "cmo_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   73,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   73,
													},
													File:   "cmo_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   73,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   73,
														},
														File:   "cmo_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   73,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   73,
														},
														File:   "cmo_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   73,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   73,
											},
											File:   "cmo_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   73,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   73,
												},
												File:   "cmo_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   73,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   73,
													},
													File:   "cmo_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   73,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   73,
													},
													File:   "cmo_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   73,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   73,
										},
										File:   "cmo_test.flux",
										Source: "fn: cmo",
										Start: ast.Position{
											Column: 99,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   73,
											},
											File:   "cmo_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   73,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   73,
											},
											File:   "cmo_test.flux",
											Source: "cmo",
											Start: ast.Position{
												Column: 103,
												Line:   73,
											},
										},
									},
									Name: "cmo",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 108,
						Line:   73,
					},
					File:   "cmo_test.flux",
					Source: "test _cmo = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: cmo})",
					Start: ast.Position{
						Column: 1,
						Line:   73,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "cmo_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "cmo_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "cmo_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "cmo_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "cmo_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 118,
					Line:   54,
				},
				File:   "columns_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,host,name,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_field\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_measurement\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_start\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_stop\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_time\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,host\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,name\n\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_field\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_measurement\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_start\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_stop\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_time\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_value\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,host\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,name\n\"\nt_columns = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> columns()\n    |> sort()\n\ntest _columns = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_columns})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "columns_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "columns_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "columns_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "columns_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "columns_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "columns_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "columns_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "columns_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   48,
					},
					File:   "columns_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,host,name,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_field\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_measurement\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_start\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_stop\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_time\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,host\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,name\n\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_field\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_measurement\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_start\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_stop\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_time\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_value\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,host\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,name\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "columns_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   48,
						},
						File:   "columns_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,host,name,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_field\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_measurement\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_start\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_stop\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_time\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,host\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,name\n\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_field\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_measurement\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_start\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_stop\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_time\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_value\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,host\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,name\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,host,name,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_field\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_measurement\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_start\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_stop\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_time\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,host\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,name\n\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_field\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_measurement\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_start\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_stop\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_time\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_value\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,host\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,name\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   52,
					},
					File:   "columns_test.flux",
					Source: "t_columns = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> columns()\n    |> sort()",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   49,
						},
						File:   "columns_test.flux",
						Source: "t_columns",
						Start: ast.Position{
							Column: 1,
							Line:   49,
						},
					},
				},
				Name: "t_columns",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   52,
						},
						File:   "columns_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> columns()\n    |> sort()",
						Start: ast.Position{
							Column: 13,
							Line:   49,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   49,
										},
										File:   "columns_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 27,
											Line:   49,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   50,
									},
									File:   "columns_test.flux",
									Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)",
									Start: ast.Position{
										Column: 27,
										Line:   49,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   50,
											},
											File:   "columns_test.flux",
											Source: "start: 2018-05-20T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   50,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   50,
												},
												File:   "columns_test.flux",
												Source: "start: 2018-05-20T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   50,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "columns_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   50,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   50,
													},
													File:   "columns_test.flux",
													Source: "2018-05-20T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   50,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-20T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   50,
										},
										File:   "columns_test.flux",
										Source: "range(start: 2018-05-20T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   50,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   50,
											},
											File:   "columns_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   50,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   51,
								},
								File:   "columns_test.flux",
								Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> columns()",
								Start: ast.Position{
									Column: 27,
									Line:   49,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: nil,
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   51,
									},
									File:   "columns_test.flux",
									Source: "columns()",
									Start: ast.Position{
										Column: 8,
										Line:   51,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 15,
											Line:   51,
										},
										File:   "columns_test.flux",
										Source: "columns",
										Start: ast.Position{
											Column: 8,
											Line:   51,
										},
									},
								},
								Name: "columns",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   52,
							},
							File:   "columns_test.flux",
							Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> columns()\n    |> sort()",
							Start: ast.Position{
								Column: 27,
								Line:   49,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   52,
								},
								File:   "columns_test.flux",
								Source: "sort()",
								Start: ast.Position{
									Column: 8,
									Line:   52,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   52,
									},
									File:   "columns_test.flux",
									Source: "sort",
									Start: ast.Position{
										Column: 8,
										Line:   52,
									},
								},
							},
							Name: "sort",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   49,
							},
							File:   "columns_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 14,
								Line:   49,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   49,
								},
								File:   "columns_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 14,
									Line:   49,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   49,
							},
							File:   "columns_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 20,
								Line:   49,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 118,
							Line:   54,
						},
						File:   "columns_test.flux",
						Source: "_columns = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_columns})",
						Start: ast.Position{
							Column: 6,
							Line:   54,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   54,
							},
							File:   "columns_test.flux",
							Source: "_columns",
							Start: ast.Position{
								Column: 6,
								Line:   54,
							},
						},
					},
					Name: "_columns",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 118,
								Line:   54,
							},
							File:   "columns_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_columns})",
							Start: ast.Position{
								Column: 17,
								Line:   54,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 118,
									Line:   54,
								},
								File:   "columns_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_columns})",
								Start: ast.Position{
									Column: 23,
									Line:   54,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 117,
										Line:   54,
									},
									File:   "columns_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_columns}",
									Start: ast.Position{
										Column: 24,
										Line:   54,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 64,
											Line:   54,
										},
										File:   "columns_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 25,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   54,
											},
											File:   "columns_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 25,
												Line:   54,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   54,
												},
												File:   "columns_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 52,
													Line:   54,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   54,
													},
													File:   "columns_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 52,
														Line:   54,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 55,
															Line:   54,
														},
														File:   "columns_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 52,
															Line:   54,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   54,
														},
														File:   "columns_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 57,
															Line:   54,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 64,
												Line:   54,
											},
											File:   "columns_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 32,
												Line:   54,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   54,
												},
												File:   "columns_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 32,
													Line:   54,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   54,
													},
													File:   "columns_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 32,
														Line:   54,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   54,
													},
													File:   "columns_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 40,
														Line:   54,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 101,
											Line:   54,
										},
										File:   "columns_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 66,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   54,
											},
											File:   "columns_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 66,
												Line:   54,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 100,
													Line:   54,
												},
												File:   "columns_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 88,
													Line:   54,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 100,
														Line:   54,
													},
													File:   "columns_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 88,
														Line:   54,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 91,
															Line:   54,
														},
														File:   "columns_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 88,
															Line:   54,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   54,
														},
														File:   "columns_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 93,
															Line:   54,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   54,
											},
											File:   "columns_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 72,
												Line:   54,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 87,
													Line:   54,
												},
												File:   "columns_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 72,
													Line:   54,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 79,
														Line:   54,
													},
													File:   "columns_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 72,
														Line:   54,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   54,
													},
													File:   "columns_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 80,
														Line:   54,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   54,
										},
										File:   "columns_test.flux",
										Source: "fn: t_columns",
										Start: ast.Position{
											Column: 103,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   54,
											},
											File:   "columns_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 103,
												Line:   54,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   54,
											},
											File:   "columns_test.flux",
											Source: "t_columns",
											Start: ast.Position{
												Column: 107,
												Line:   54,
											},
										},
									},
									Name: "t_columns",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 118,
						Line:   54,
					},
					File:   "columns_test.flux",
					Source: "test _columns = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_columns})",
					Start: ast.Position{
						Column: 1,
						Line:   54,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "columns_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "columns_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "columns_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "columns_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "columns_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   79,
				},
				File:   "count_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,iZquGj,Au1iY,2018-12-18T20:52:33Z,7\n,,0,iZquGj,Au1iY,2018-12-18T20:52:43Z,38\n,,0,iZquGj,Au1iY,2018-12-18T20:52:53Z,79\n,,0,iZquGj,Au1iY,2018-12-18T20:53:03Z,51\n,,0,iZquGj,Au1iY,2018-12-18T20:53:13Z,94\n,,0,iZquGj,Au1iY,2018-12-18T20:53:23Z,85\n\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,iZquGj,HSbYC,2018-12-18T20:52:33Z,A9JcEV\n,,1,iZquGj,HSbYC,2018-12-18T20:52:43Z,iNI7Bqy\n,,1,iZquGj,HSbYC,2018-12-18T20:52:53Z,TFIS\n,,1,iZquGj,HSbYC,2018-12-18T20:53:03Z,q6h9yU\n,,1,iZquGj,HSbYC,2018-12-18T20:53:13Z,X8Ks\n,,1,iZquGj,HSbYC,2018-12-18T20:53:23Z,aOMgU\n\n#datatype,string,long,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,iZquGj,J1u,2018-12-18T20:52:33Z,false\n,,2,iZquGj,J1u,2018-12-18T20:52:43Z,false\n,,2,iZquGj,J1u,2018-12-18T20:52:53Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:03Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:13Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:23Z,false\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:33Z,-61.68790887989735\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:43Z,-6.3173755351186465\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:53Z,-26.049728557657513\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:03Z,114.285955884979\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:13Z,16.140262630578995\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:23Z,29.50336437998469\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:33Z,-66\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:43Z,59\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:53Z,64\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:03Z,84\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:13Z,68\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:23Z,49\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,Au1iY,6\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,HSbYC,6\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,J1u,6\n,,3,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,ei77f8T,6\n,,4,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,ucyoZ,6\n\"\nt_count = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> count()\n\ntest _count = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_count})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "count_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "count_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "count_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "count_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "count_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   63,
					},
					File:   "count_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,iZquGj,Au1iY,2018-12-18T20:52:33Z,7\n,,0,iZquGj,Au1iY,2018-12-18T20:52:43Z,38\n,,0,iZquGj,Au1iY,2018-12-18T20:52:53Z,79\n,,0,iZquGj,Au1iY,2018-12-18T20:53:03Z,51\n,,0,iZquGj,Au1iY,2018-12-18T20:53:13Z,94\n,,0,iZquGj,Au1iY,2018-12-18T20:53:23Z,85\n\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,iZquGj,HSbYC,2018-12-18T20:52:33Z,A9JcEV\n,,1,iZquGj,HSbYC,2018-12-18T20:52:43Z,iNI7Bqy\n,,1,iZquGj,HSbYC,2018-12-18T20:52:53Z,TFIS\n,,1,iZquGj,HSbYC,2018-12-18T20:53:03Z,q6h9yU\n,,1,iZquGj,HSbYC,2018-12-18T20:53:13Z,X8Ks\n,,1,iZquGj,HSbYC,2018-12-18T20:53:23Z,aOMgU\n\n#datatype,string,long,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,iZquGj,J1u,2018-12-18T20:52:33Z,false\n,,2,iZquGj,J1u,2018-12-18T20:52:43Z,false\n,,2,iZquGj,J1u,2018-12-18T20:52:53Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:03Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:13Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:23Z,false\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:33Z,-61.68790887989735\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:43Z,-6.3173755351186465\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:53Z,-26.049728557657513\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:03Z,114.285955884979\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:13Z,16.140262630578995\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:23Z,29.50336437998469\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:33Z,-66\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:43Z,59\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:53Z,64\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:03Z,84\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:13Z,68\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:23Z,49\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "count_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   63,
						},
						File:   "count_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,iZquGj,Au1iY,2018-12-18T20:52:33Z,7\n,,0,iZquGj,Au1iY,2018-12-18T20:52:43Z,38\n,,0,iZquGj,Au1iY,2018-12-18T20:52:53Z,79\n,,0,iZquGj,Au1iY,2018-12-18T20:53:03Z,51\n,,0,iZquGj,Au1iY,2018-12-18T20:53:13Z,94\n,,0,iZquGj,Au1iY,2018-12-18T20:53:23Z,85\n\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,iZquGj,HSbYC,2018-12-18T20:52:33Z,A9JcEV\n,,1,iZquGj,HSbYC,2018-12-18T20:52:43Z,iNI7Bqy\n,,1,iZquGj,HSbYC,2018-12-18T20:52:53Z,TFIS\n,,1,iZquGj,HSbYC,2018-12-18T20:53:03Z,q6h9yU\n,,1,iZquGj,HSbYC,2018-12-18T20:53:13Z,X8Ks\n,,1,iZquGj,HSbYC,2018-12-18T20:53:23Z,aOMgU\n\n#datatype,string,long,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,iZquGj,J1u,2018-12-18T20:52:33Z,false\n,,2,iZquGj,J1u,2018-12-18T20:52:43Z,false\n,,2,iZquGj,J1u,2018-12-18T20:52:53Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:03Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:13Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:23Z,false\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:33Z,-61.68790887989735\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:43Z,-6.3173755351186465\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:53Z,-26.049728557657513\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:03Z,114.285955884979\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:13Z,16.140262630578995\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:23Z,29.50336437998469\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:33Z,-66\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:43Z,59\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:53Z,64\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:03Z,84\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:13Z,68\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:23Z,49\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,iZquGj,Au1iY,2018-12-18T20:52:33Z,7\n,,0,iZquGj,Au1iY,2018-12-18T20:52:43Z,38\n,,0,iZquGj,Au1iY,2018-12-18T20:52:53Z,79\n,,0,iZquGj,Au1iY,2018-12-18T20:53:03Z,51\n,,0,iZquGj,Au1iY,2018-12-18T20:53:13Z,94\n,,0,iZquGj,Au1iY,2018-12-18T20:53:23Z,85\n\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,iZquGj,HSbYC,2018-12-18T20:52:33Z,A9JcEV\n,,1,iZquGj,HSbYC,2018-12-18T20:52:43Z,iNI7Bqy\n,,1,iZquGj,HSbYC,2018-12-18T20:52:53Z,TFIS\n,,1,iZquGj,HSbYC,2018-12-18T20:53:03Z,q6h9yU\n,,1,iZquGj,HSbYC,2018-12-18T20:53:13Z,X8Ks\n,,1,iZquGj,HSbYC,2018-12-18T20:53:23Z,aOMgU\n\n#datatype,string,long,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,iZquGj,J1u,2018-12-18T20:52:33Z,false\n,,2,iZquGj,J1u,2018-12-18T20:52:43Z,false\n,,2,iZquGj,J1u,2018-12-18T20:52:53Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:03Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:13Z,true\n,,2,iZquGj,J1u,2018-12-18T20:53:23Z,false\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:33Z,-61.68790887989735\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:43Z,-6.3173755351186465\n,,3,iZquGj,ei77f8T,2018-12-18T20:52:53Z,-26.049728557657513\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:03Z,114.285955884979\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:13Z,16.140262630578995\n,,3,iZquGj,ei77f8T,2018-12-18T20:53:23Z,29.50336437998469\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:33Z,-66\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:43Z,59\n,,4,iZquGj,ucyoZ,2018-12-18T20:52:53Z,64\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:03Z,84\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:13Z,68\n,,4,iZquGj,ucyoZ,2018-12-18T20:53:23Z,49\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   74,
					},
					File:   "count_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,Au1iY,6\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,HSbYC,6\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,J1u,6\n,,3,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,ei77f8T,6\n,,4,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,ucyoZ,6\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   64,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   64,
						},
						File:   "count_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   64,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   74,
						},
						File:   "count_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,Au1iY,6\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,HSbYC,6\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,J1u,6\n,,3,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,ei77f8T,6\n,,4,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,ucyoZ,6\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   64,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,Au1iY,6\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,HSbYC,6\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,J1u,6\n,,3,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,ei77f8T,6\n,,4,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,iZquGj,ucyoZ,6\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   77,
					},
					File:   "count_test.flux",
					Source: "t_count = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> count()",
					Start: ast.Position{
						Column: 1,
						Line:   75,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   75,
						},
						File:   "count_test.flux",
						Source: "t_count",
						Start: ast.Position{
							Column: 1,
							Line:   75,
						},
					},
				},
				Name: "t_count",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   77,
						},
						File:   "count_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> count()",
						Start: ast.Position{
							Column: 11,
							Line:   75,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   75,
									},
									File:   "count_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 25,
										Line:   75,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   76,
								},
								File:   "count_test.flux",
								Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)",
								Start: ast.Position{
									Column: 25,
									Line:   75,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   76,
										},
										File:   "count_test.flux",
										Source: "start: 2018-12-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   76,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   76,
											},
											File:   "count_test.flux",
											Source: "start: 2018-12-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   76,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   76,
												},
												File:   "count_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   76,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   76,
												},
												File:   "count_test.flux",
												Source: "2018-12-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   76,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   76,
									},
									File:   "count_test.flux",
									Source: "range(start: 2018-12-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   76,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   76,
										},
										File:   "count_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   76,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   77,
							},
							File:   "count_test.flux",
							Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> count()",
							Start: ast.Position{
								Column: 25,
								Line:   75,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   77,
								},
								File:   "count_test.flux",
								Source: "count()",
								Start: ast.Position{
									Column: 8,
									Line:   77,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   77,
									},
									File:   "count_test.flux",
									Source: "count",
									Start: ast.Position{
										Column: 8,
										Line:   77,
									},
								},
							},
							Name: "count",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   75,
							},
							File:   "count_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   75,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   75,
								},
								File:   "count_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   75,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   75,
							},
							File:   "count_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   75,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   79,
						},
						File:   "count_test.flux",
						Source: "_count = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_count})",
						Start: ast.Position{
							Column: 6,
							Line:   79,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   79,
							},
							File:   "count_test.flux",
							Source: "_count",
							Start: ast.Position{
								Column: 6,
								Line:   79,
							},
						},
					},
					Name: "_count",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   79,
							},
							File:   "count_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_count})",
							Start: ast.Position{
								Column: 15,
								Line:   79,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   79,
								},
								File:   "count_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_count})",
								Start: ast.Position{
									Column: 21,
									Line:   79,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   79,
									},
									File:   "count_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_count}",
									Start: ast.Position{
										Column: 22,
										Line:   79,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   79,
										},
										File:   "count_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   79,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   79,
											},
											File:   "count_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   79,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   79,
												},
												File:   "count_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   79,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   79,
													},
													File:   "count_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   79,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   79,
														},
														File:   "count_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   79,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   79,
														},
														File:   "count_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   79,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   79,
											},
											File:   "count_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   79,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   79,
												},
												File:   "count_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   79,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   79,
													},
													File:   "count_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   79,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   79,
													},
													File:   "count_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   79,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   79,
										},
										File:   "count_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   79,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   79,
											},
											File:   "count_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   79,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   79,
												},
												File:   "count_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   79,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   79,
													},
													File:   "count_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   79,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   79,
														},
														File:   "count_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   79,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   79,
														},
														File:   "count_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   79,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   79,
											},
											File:   "count_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   79,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   79,
												},
												File:   "count_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   79,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   79,
													},
													File:   "count_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   79,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   79,
													},
													File:   "count_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   79,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   79,
										},
										File:   "count_test.flux",
										Source: "fn: t_count",
										Start: ast.Position{
											Column: 101,
											Line:   79,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   79,
											},
											File:   "count_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   79,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   79,
											},
											File:   "count_test.flux",
											Source: "t_count",
											Start: ast.Position{
												Column: 105,
												Line:   79,
											},
										},
									},
									Name: "t_count",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   79,
					},
					File:   "count_test.flux",
					Source: "test _count = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_count})",
					Start: ast.Position{
						Column: 1,
						Line:   79,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "count_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "count_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "count_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "count_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "count_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   53,
				},
				File:   "cov_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,f1\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,f1\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,f1\n,,1,2018-05-22T19:53:56Z,10,CPU,user2,f1\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,f1\n,,2,2018-05-22T19:53:36Z,2,RAM,user1,f1\n,,2,2018-05-22T19:53:46Z,3,RAM,user1,f1\n,,2,2018-05-22T19:53:56Z,5,RAM,user1,f1\n,,3,2018-05-22T19:53:26Z,2,RAM,user2,f1\n,,3,2018-05-22T19:53:36Z,4,RAM,user2,f1\n,,3,2018-05-22T19:53:46Z,4,RAM,user2,f1\n,,3,2018-05-22T19:53:56Z,0,RAM,user2,f1\n,,3,2018-05-22T19:54:06Z,2,RAM,user2,f1\n,,3,2018-05-22T19:54:16Z,10,RAM,user2,f1\n\"\noutData = \"\n#datatype,string,long,string,double\n#group,false,false,true,false\n#default,_result,,,\n,result,table,_measurement,_value\n,,0,CPU,8\n,,1,RAM,-1.8333333333333333\n\"\nt_cov = (table=<-) => {\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"_measurement\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\"])\n\n    return cov(x: t1, y: t2, on: [\"_time\", \"_measurement\"])\n}\n\ntest _cov = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cov})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "cov_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "cov_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "cov_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "cov_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "cov_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "cov_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,f1\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,f1\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,f1\n,,1,2018-05-22T19:53:56Z,10,CPU,user2,f1\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,f1\n,,2,2018-05-22T19:53:36Z,2,RAM,user1,f1\n,,2,2018-05-22T19:53:46Z,3,RAM,user1,f1\n,,2,2018-05-22T19:53:56Z,5,RAM,user1,f1\n,,3,2018-05-22T19:53:26Z,2,RAM,user2,f1\n,,3,2018-05-22T19:53:36Z,4,RAM,user2,f1\n,,3,2018-05-22T19:53:46Z,4,RAM,user2,f1\n,,3,2018-05-22T19:53:56Z,0,RAM,user2,f1\n,,3,2018-05-22T19:54:06Z,2,RAM,user2,f1\n,,3,2018-05-22T19:54:16Z,10,RAM,user2,f1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "cov_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "cov_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,f1\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,f1\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,f1\n,,1,2018-05-22T19:53:56Z,10,CPU,user2,f1\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,f1\n,,2,2018-05-22T19:53:36Z,2,RAM,user1,f1\n,,2,2018-05-22T19:53:46Z,3,RAM,user1,f1\n,,2,2018-05-22T19:53:56Z,5,RAM,user1,f1\n,,3,2018-05-22T19:53:26Z,2,RAM,user2,f1\n,,3,2018-05-22T19:53:36Z,4,RAM,user2,f1\n,,3,2018-05-22T19:53:46Z,4,RAM,user2,f1\n,,3,2018-05-22T19:53:56Z,0,RAM,user2,f1\n,,3,2018-05-22T19:54:06Z,2,RAM,user2,f1\n,,3,2018-05-22T19:54:16Z,10,RAM,user2,f1\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,f1\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,f1\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,f1\n,,1,2018-05-22T19:53:56Z,10,CPU,user2,f1\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,f1\n,,2,2018-05-22T19:53:36Z,2,RAM,user1,f1\n,,2,2018-05-22T19:53:46Z,3,RAM,user1,f1\n,,2,2018-05-22T19:53:56Z,5,RAM,user1,f1\n,,3,2018-05-22T19:53:26Z,2,RAM,user2,f1\n,,3,2018-05-22T19:53:36Z,4,RAM,user2,f1\n,,3,2018-05-22T19:53:46Z,4,RAM,user2,f1\n,,3,2018-05-22T19:53:56Z,0,RAM,user2,f1\n,,3,2018-05-22T19:54:06Z,2,RAM,user2,f1\n,,3,2018-05-22T19:54:16Z,10,RAM,user2,f1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "cov_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,double\n#group,false,false,true,false\n#default,_result,,,\n,result,table,_measurement,_value\n,,0,CPU,8\n,,1,RAM,-1.8333333333333333\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "cov_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "cov_test.flux",
						Source: "\"\n#datatype,string,long,string,double\n#group,false,false,true,false\n#default,_result,,,\n,result,table,_measurement,_value\n,,0,CPU,8\n,,1,RAM,-1.8333333333333333\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\n#datatype,string,long,string,double\n#group,false,false,true,false\n#default,_result,,,\n,result,table,_measurement,_value\n,,0,CPU,8\n,,1,RAM,-1.8333333333333333\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   51,
					},
					File:   "cov_test.flux",
					Source: "t_cov = (table=<-) => {\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"_measurement\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\"])\n\n    return cov(x: t1, y: t2, on: [\"_time\", \"_measurement\"])\n}",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   38,
						},
						File:   "cov_test.flux",
						Source: "t_cov",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_cov",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   51,
						},
						File:   "cov_test.flux",
						Source: "(table=<-) => {\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"_measurement\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\"])\n\n    return cov(x: t1, y: t2, on: [\"_time\", \"_measurement\"])\n}",
						Start: ast.Position{
							Column: 9,
							Line:   38,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   51,
							},
							File:   "cov_test.flux",
							Source: "{\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"_measurement\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\"])\n\n    return cov(x: t1, y: t2, on: [\"_time\", \"_measurement\"])\n}",
							Start: ast.Position{
								Column: 23,
								Line:   38,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 44,
									Line:   43,
								},
								File:   "cov_test.flux",
								Source: "t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"_measurement\"])",
								Start: ast.Position{
									Column: 5,
									Line:   39,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 7,
										Line:   39,
									},
									File:   "cov_test.flux",
									Source: "t1",
									Start: ast.Position{
										Column: 5,
										Line:   39,
									},
								},
							},
							Name: "t1",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   39,
													},
													File:   "cov_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   39,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   40,
												},
												File:   "cov_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
												Start: ast.Position{
													Column: 10,
													Line:   39,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   40,
														},
														File:   "cov_test.flux",
														Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z",
														Start: ast.Position{
															Column: 18,
															Line:   40,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   40,
															},
															File:   "cov_test.flux",
															Source: "start: 2018-05-22T19:53:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   40,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 23,
																	Line:   40,
																},
																File:   "cov_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 18,
																	Line:   40,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   40,
																},
																File:   "cov_test.flux",
																Source: "2018-05-22T19:53:00Z",
																Start: ast.Position{
																	Column: 25,
																	Line:   40,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   40,
															},
															File:   "cov_test.flux",
															Source: "stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 47,
																Line:   40,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 51,
																	Line:   40,
																},
																File:   "cov_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 47,
																	Line:   40,
																},
															},
														},
														Name: "stop",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   40,
																},
																File:   "cov_test.flux",
																Source: "2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 53,
																	Line:   40,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   40,
													},
													File:   "cov_test.flux",
													Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 12,
														Line:   40,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   40,
														},
														File:   "cov_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 12,
															Line:   40,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   41,
											},
											File:   "cov_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])",
											Start: ast.Position{
												Column: 10,
												Line:   39,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   41,
													},
													File:   "cov_test.flux",
													Source: "columns: [\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 17,
														Line:   41,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   41,
														},
														File:   "cov_test.flux",
														Source: "columns: [\"_start\", \"_stop\"]",
														Start: ast.Position{
															Column: 17,
															Line:   41,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 24,
																Line:   41,
															},
															File:   "cov_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 17,
																Line:   41,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   41,
															},
															File:   "cov_test.flux",
															Source: "[\"_start\", \"_stop\"]",
															Start: ast.Position{
																Column: 26,
																Line:   41,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   41,
																},
																File:   "cov_test.flux",
																Source: "\"_start\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   41,
																},
															},
														},
														Value: "_start",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   41,
																},
																File:   "cov_test.flux",
																Source: "\"_stop\"",
																Start: ast.Position{
																	Column: 37,
																	Line:   41,
																},
															},
														},
														Value: "_stop",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   41,
												},
												File:   "cov_test.flux",
												Source: "drop(columns: [\"_start\", \"_stop\"])",
												Start: ast.Position{
													Column: 12,
													Line:   41,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   41,
													},
													File:   "cov_test.flux",
													Source: "drop",
													Start: ast.Position{
														Column: 12,
														Line:   41,
													},
												},
											},
											Name: "drop",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   42,
										},
										File:   "cov_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")",
										Start: ast.Position{
											Column: 10,
											Line:   39,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   42,
												},
												File:   "cov_test.flux",
												Source: "fn: (r) => r.user == \"user1\"",
												Start: ast.Position{
													Column: 19,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   42,
													},
													File:   "cov_test.flux",
													Source: "fn: (r) => r.user == \"user1\"",
													Start: ast.Position{
														Column: 19,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   42,
														},
														File:   "cov_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   42,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   42,
														},
														File:   "cov_test.flux",
														Source: "(r) => r.user == \"user1\"",
														Start: ast.Position{
															Column: 23,
															Line:   42,
														},
													},
												},
												Body: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   42,
															},
															File:   "cov_test.flux",
															Source: "r.user == \"user1\"",
															Start: ast.Position{
																Column: 30,
																Line:   42,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 36,
																	Line:   42,
																},
																File:   "cov_test.flux",
																Source: "r.user",
																Start: ast.Position{
																	Column: 30,
																	Line:   42,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 31,
																		Line:   42,
																	},
																	File:   "cov_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 30,
																		Line:   42,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 36,
																		Line:   42,
																	},
																	File:   "cov_test.flux",
																	Source: "user",
																	Start: ast.Position{
																		Column: 32,
																		Line:   42,
																	},
																},
															},
															Name: "user",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   42,
																},
																File:   "cov_test.flux",
																Source: "\"user1\"",
																Start: ast.Position{
																	Column: 40,
																	Line:   42,
																},
															},
														},
														Value: "user1",
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   42,
															},
															File:   "cov_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   42,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   42,
																},
																File:   "cov_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   42,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   42,
											},
											File:   "cov_test.flux",
											Source: "filter(fn: (r) => r.user == \"user1\")",
											Start: ast.Position{
												Column: 12,
												Line:   42,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   42,
												},
												File:   "cov_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   42,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 44,
										Line:   43,
									},
									File:   "cov_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"_measurement\"])",
									Start: ast.Position{
										Column: 10,
										Line:   39,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   43,
											},
											File:   "cov_test.flux",
											Source: "columns: [\"_measurement\"]",
											Start: ast.Position{
												Column: 18,
												Line:   43,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   43,
												},
												File:   "cov_test.flux",
												Source: "columns: [\"_measurement\"]",
												Start: ast.Position{
													Column: 18,
													Line:   43,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   43,
													},
													File:   "cov_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 18,
														Line:   43,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   43,
													},
													File:   "cov_test.flux",
													Source: "[\"_measurement\"]",
													Start: ast.Position{
														Column: 27,
														Line:   43,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 42,
															Line:   43,
														},
														File:   "cov_test.flux",
														Source: "\"_measurement\"",
														Start: ast.Position{
															Column: 28,
															Line:   43,
														},
													},
												},
												Value: "_measurement",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   43,
										},
										File:   "cov_test.flux",
										Source: "group(columns: [\"_measurement\"])",
										Start: ast.Position{
											Column: 12,
											Line:   43,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   43,
											},
											File:   "cov_test.flux",
											Source: "group",
											Start: ast.Position{
												Column: 12,
												Line:   43,
											},
										},
									},
									Name: "group",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 44,
									Line:   48,
								},
								File:   "cov_test.flux",
								Source: "t2 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\"])",
								Start: ast.Position{
									Column: 5,
									Line:   44,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 7,
										Line:   44,
									},
									File:   "cov_test.flux",
									Source: "t2",
									Start: ast.Position{
										Column: 5,
										Line:   44,
									},
								},
							},
							Name: "t2",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   44,
													},
													File:   "cov_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   44,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   45,
												},
												File:   "cov_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
												Start: ast.Position{
													Column: 10,
													Line:   44,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   45,
														},
														File:   "cov_test.flux",
														Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z",
														Start: ast.Position{
															Column: 18,
															Line:   45,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   45,
															},
															File:   "cov_test.flux",
															Source: "start: 2018-05-22T19:53:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   45,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 23,
																	Line:   45,
																},
																File:   "cov_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 18,
																	Line:   45,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   45,
																},
																File:   "cov_test.flux",
																Source: "2018-05-22T19:53:00Z",
																Start: ast.Position{
																	Column: 25,
																	Line:   45,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   45,
															},
															File:   "cov_test.flux",
															Source: "stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 47,
																Line:   45,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 51,
																	Line:   45,
																},
																File:   "cov_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 47,
																	Line:   45,
																},
															},
														},
														Name: "stop",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   45,
																},
																File:   "cov_test.flux",
																Source: "2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 53,
																	Line:   45,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   45,
													},
													File:   "cov_test.flux",
													Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 12,
														Line:   45,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   45,
														},
														File:   "cov_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 12,
															Line:   45,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   46,
											},
											File:   "cov_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])",
											Start: ast.Position{
												Column: 10,
												Line:   44,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   46,
													},
													File:   "cov_test.flux",
													Source: "columns: [\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 17,
														Line:   46,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   46,
														},
														File:   "cov_test.flux",
														Source: "columns: [\"_start\", \"_stop\"]",
														Start: ast.Position{
															Column: 17,
															Line:   46,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 24,
																Line:   46,
															},
															File:   "cov_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 17,
																Line:   46,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   46,
															},
															File:   "cov_test.flux",
															Source: "[\"_start\", \"_stop\"]",
															Start: ast.Position{
																Column: 26,
																Line:   46,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   46,
																},
																File:   "cov_test.flux",
																Source: "\"_start\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   46,
																},
															},
														},
														Value: "_start",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   46,
																},
																File:   "cov_test.flux",
																Source: "\"_stop\"",
																Start: ast.Position{
																	Column: 37,
																	Line:   46,
																},
															},
														},
														Value: "_stop",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   46,
												},
												File:   "cov_test.flux",
												Source: "drop(columns: [\"_start\", \"_stop\"])",
												Start: ast.Position{
													Column: 12,
													Line:   46,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   46,
													},
													File:   "cov_test.flux",
													Source: "drop",
													Start: ast.Position{
														Column: 12,
														Line:   46,
													},
												},
											},
											Name: "drop",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   47,
										},
										File:   "cov_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")",
										Start: ast.Position{
											Column: 10,
											Line:   44,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   47,
												},
												File:   "cov_test.flux",
												Source: "fn: (r) => r.user == \"user2\"",
												Start: ast.Position{
													Column: 19,
													Line:   47,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   47,
													},
													File:   "cov_test.flux",
													Source: "fn: (r) => r.user == \"user2\"",
													Start: ast.Position{
														Column: 19,
														Line:   47,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   47,
														},
														File:   "cov_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   47,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   47,
														},
														File:   "cov_test.flux",
														Source: "(r) => r.user == \"user2\"",
														Start: ast.Position{
															Column: 23,
															Line:   47,
														},
													},
												},
												Body: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   47,
															},
															File:   "cov_test.flux",
															Source: "r.user == \"user2\"",
															Start: ast.Position{
																Column: 30,
																Line:   47,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 36,
																	Line:   47,
																},
																File:   "cov_test.flux",
																Source: "r.user",
																Start: ast.Position{
																	Column: 30,
																	Line:   47,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 31,
																		Line:   47,
																	},
																	File:   "cov_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 30,
																		Line:   47,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 36,
																		Line:   47,
																	},
																	File:   "cov_test.flux",
																	Source: "user",
																	Start: ast.Position{
																		Column: 32,
																		Line:   47,
																	},
																},
															},
															Name: "user",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   47,
																},
																File:   "cov_test.flux",
																Source: "\"user2\"",
																Start: ast.Position{
																	Column: 40,
																	Line:   47,
																},
															},
														},
														Value: "user2",
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   47,
															},
															File:   "cov_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   47,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   47,
																},
																File:   "cov_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   47,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   47,
											},
											File:   "cov_test.flux",
											Source: "filter(fn: (r) => r.user == \"user2\")",
											Start: ast.Position{
												Column: 12,
												Line:   47,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   47,
												},
												File:   "cov_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   47,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 44,
										Line:   48,
									},
									File:   "cov_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\"])",
									Start: ast.Position{
										Column: 10,
										Line:   44,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   48,
											},
											File:   "cov_test.flux",
											Source: "columns: [\"_measurement\"]",
											Start: ast.Position{
												Column: 18,
												Line:   48,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   48,
												},
												File:   "cov_test.flux",
												Source: "columns: [\"_measurement\"]",
												Start: ast.Position{
													Column: 18,
													Line:   48,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   48,
													},
													File:   "cov_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 18,
														Line:   48,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   48,
													},
													File:   "cov_test.flux",
													Source: "[\"_measurement\"]",
													Start: ast.Position{
														Column: 27,
														Line:   48,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 42,
															Line:   48,
														},
														File:   "cov_test.flux",
														Source: "\"_measurement\"",
														Start: ast.Position{
															Column: 28,
															Line:   48,
														},
													},
												},
												Value: "_measurement",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   48,
										},
										File:   "cov_test.flux",
										Source: "group(columns: [\"_measurement\"])",
										Start: ast.Position{
											Column: 12,
											Line:   48,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   48,
											},
											File:   "cov_test.flux",
											Source: "group",
											Start: ast.Position{
												Column: 12,
												Line:   48,
											},
										},
									},
									Name: "group",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 59,
											Line:   50,
										},
										File:   "cov_test.flux",
										Source: "x: t1, y: t2, on: [\"_time\", \"_measurement\"]",
										Start: ast.Position{
											Column: 16,
											Line:   50,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   50,
											},
											File:   "cov_test.flux",
											Source: "x: t1",
											Start: ast.Position{
												Column: 16,
												Line:   50,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   50,
												},
												File:   "cov_test.flux",
												Source: "x",
												Start: ast.Position{
													Column: 16,
													Line:   50,
												},
											},
										},
										Name: "x",
									},
									Separator: nil,
									Value: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   50,
												},
												File:   "cov_test.flux",
												Source: "t1",
												Start: ast.Position{
													Column: 19,
													Line:   50,
												},
											},
										},
										Name: "t1",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   50,
											},
											File:   "cov_test.flux",
											Source: "y: t2",
											Start: ast.Position{
												Column: 23,
												Line:   50,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   50,
												},
												File:   "cov_test.flux",
												Source: "y",
												Start: ast.Position{
													Column: 23,
													Line:   50,
												},
											},
										},
										Name: "y",
									},
									Separator: nil,
									Value: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   50,
												},
												File:   "cov_test.flux",
												Source: "t2",
												Start: ast.Position{
													Column: 26,
													Line:   50,
												},
											},
										},
										Name: "t2",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 59,
												Line:   50,
											},
											File:   "cov_test.flux",
											Source: "on: [\"_time\", \"_measurement\"]",
											Start: ast.Position{
												Column: 30,
												Line:   50,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   50,
												},
												File:   "cov_test.flux",
												Source: "on",
												Start: ast.Position{
													Column: 30,
													Line:   50,
												},
											},
										},
										Name: "on",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   50,
												},
												File:   "cov_test.flux",
												Source: "[\"_time\", \"_measurement\"]",
												Start: ast.Position{
													Column: 34,
													Line:   50,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   50,
													},
													File:   "cov_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 35,
														Line:   50,
													},
												},
											},
											Value: "_time",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   50,
													},
													File:   "cov_test.flux",
													Source: "\"_measurement\"",
													Start: ast.Position{
														Column: 44,
														Line:   50,
													},
												},
											},
											Value: "_measurement",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 60,
										Line:   50,
									},
									File:   "cov_test.flux",
									Source: "cov(x: t1, y: t2, on: [\"_time\", \"_measurement\"])",
									Start: ast.Position{
										Column: 12,
										Line:   50,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 15,
											Line:   50,
										},
										File:   "cov_test.flux",
										Source: "cov",
										Start: ast.Position{
											Column: 12,
											Line:   50,
										},
									},
								},
								Name: "cov",
							},
							Lparen: nil,
							Rparen: nil,
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 60,
									Line:   50,
								},
								File:   "cov_test.flux",
								Source: "return cov(x: t1, y: t2, on: [\"_time\", \"_measurement\"])",
								Start: ast.Position{
									Column: 5,
									Line:   50,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   38,
							},
							File:   "cov_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   38,
								},
								File:   "cov_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   38,
							},
							File:   "cov_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   53,
						},
						File:   "cov_test.flux",
						Source: "_cov = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cov})",
						Start: ast.Position{
							Column: 6,
							Line:   53,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   53,
							},
							File:   "cov_test.flux",
							Source: "_cov",
							Start: ast.Position{
								Column: 6,
								Line:   53,
							},
						},
					},
					Name: "_cov",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   53,
							},
							File:   "cov_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cov})",
							Start: ast.Position{
								Column: 13,
								Line:   53,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   53,
								},
								File:   "cov_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cov})",
								Start: ast.Position{
									Column: 19,
									Line:   53,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   53,
									},
									File:   "cov_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cov}",
									Start: ast.Position{
										Column: 20,
										Line:   53,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   53,
										},
										File:   "cov_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   53,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   53,
											},
											File:   "cov_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   53,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   53,
												},
												File:   "cov_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   53,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   53,
													},
													File:   "cov_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   53,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   53,
														},
														File:   "cov_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   53,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   53,
														},
														File:   "cov_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   53,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   53,
											},
											File:   "cov_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   53,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   53,
												},
												File:   "cov_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   53,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   53,
													},
													File:   "cov_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   53,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   53,
													},
													File:   "cov_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   53,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   53,
										},
										File:   "cov_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   53,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   53,
											},
											File:   "cov_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   53,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   53,
												},
												File:   "cov_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   53,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   53,
													},
													File:   "cov_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   53,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   53,
														},
														File:   "cov_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   53,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   53,
														},
														File:   "cov_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   53,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   53,
											},
											File:   "cov_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   53,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   53,
												},
												File:   "cov_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   53,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   53,
													},
													File:   "cov_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   53,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   53,
													},
													File:   "cov_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   53,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   53,
										},
										File:   "cov_test.flux",
										Source: "fn: t_cov",
										Start: ast.Position{
											Column: 99,
											Line:   53,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   53,
											},
											File:   "cov_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   53,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   53,
											},
											File:   "cov_test.flux",
											Source: "t_cov",
											Start: ast.Position{
												Column: 103,
												Line:   53,
											},
										},
									},
									Name: "t_cov",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   53,
					},
					File:   "cov_test.flux",
					Source: "test _cov = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cov})",
					Start: ast.Position{
						Column: 1,
						Line:   53,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "cov_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "cov_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "cov_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "cov_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "cov_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 156,
					Line:   30,
				},
				File:   "covariance_missing_column_1_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,x,_measurement\n,,0,2018-05-22T19:53:26Z,0,cpu\n,,0,2018-05-22T19:53:36Z,0,cpu\n,,0,2018-05-22T19:53:46Z,2,cpu\n,,0,2018-05-22T19:53:56Z,7,cpu\n\"\noutData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,specified column does not exist in table: y,\n\"\ncovariance_missing_column_1 = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"r\"])\n    |> yield(name: \"0\")\n\ntest _covariance_missing_column_1 = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_1})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "covariance_missing_column_1_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "covariance_missing_column_1_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "covariance_missing_column_1_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "covariance_missing_column_1_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   17,
					},
					File:   "covariance_missing_column_1_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,x,_measurement\n,,0,2018-05-22T19:53:26Z,0,cpu\n,,0,2018-05-22T19:53:36Z,0,cpu\n,,0,2018-05-22T19:53:46Z,2,cpu\n,,0,2018-05-22T19:53:56Z,7,cpu\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   17,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,x,_measurement\n,,0,2018-05-22T19:53:26Z,0,cpu\n,,0,2018-05-22T19:53:36Z,0,cpu\n,,0,2018-05-22T19:53:46Z,2,cpu\n,,0,2018-05-22T19:53:56Z,7,cpu\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,x,_measurement\n,,0,2018-05-22T19:53:26Z,0,cpu\n,,0,2018-05-22T19:53:36Z,0,cpu\n,,0,2018-05-22T19:53:46Z,2,cpu\n,,0,2018-05-22T19:53:56Z,7,cpu\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   24,
					},
					File:   "covariance_missing_column_1_test.flux",
					Source: "outData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,specified column does not exist in table: y,\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   18,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   18,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   18,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   24,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "\"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,specified column does not exist in table: y,\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   18,
						},
					},
				},
				Value: "\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,specified column does not exist in table: y,\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   28,
					},
					File:   "covariance_missing_column_1_test.flux",
					Source: "covariance_missing_column_1 = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"r\"])\n    |> yield(name: \"0\")",
					Start: ast.Position{
						Column: 1,
						Line:   25,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 28,
							Line:   25,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "covariance_missing_column_1",
						Start: ast.Position{
							Column: 1,
							Line:   25,
						},
					},
				},
				Name: "covariance_missing_column_1",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   28,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"r\"])\n    |> yield(name: \"0\")",
						Start: ast.Position{
							Column: 31,
							Line:   25,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   25,
										},
										File:   "covariance_missing_column_1_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 45,
											Line:   25,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   26,
									},
									File:   "covariance_missing_column_1_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 45,
										Line:   25,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   26,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   26,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   26,
												},
												File:   "covariance_missing_column_1_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   26,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   26,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   26,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   26,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   26,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   26,
										},
										File:   "covariance_missing_column_1_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   26,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   26,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   26,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   27,
								},
								File:   "covariance_missing_column_1_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"r\"])",
								Start: ast.Position{
									Column: 45,
									Line:   25,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   27,
										},
										File:   "covariance_missing_column_1_test.flux",
										Source: "columns: [\"x\", \"r\"]",
										Start: ast.Position{
											Column: 19,
											Line:   27,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   27,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "columns: [\"x\", \"r\"]",
											Start: ast.Position{
												Column: 19,
												Line:   27,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   27,
												},
												File:   "covariance_missing_column_1_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 19,
													Line:   27,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 38,
													Line:   27,
												},
												File:   "covariance_missing_column_1_test.flux",
												Source: "[\"x\", \"r\"]",
												Start: ast.Position{
													Column: 28,
													Line:   27,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 32,
														Line:   27,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "\"x\"",
													Start: ast.Position{
														Column: 29,
														Line:   27,
													},
												},
											},
											Value: "x",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   27,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "\"r\"",
													Start: ast.Position{
														Column: 34,
														Line:   27,
													},
												},
											},
											Value: "r",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   27,
									},
									File:   "covariance_missing_column_1_test.flux",
									Source: "covariance(columns: [\"x\", \"r\"])",
									Start: ast.Position{
										Column: 8,
										Line:   27,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 18,
											Line:   27,
										},
										File:   "covariance_missing_column_1_test.flux",
										Source: "covariance",
										Start: ast.Position{
											Column: 8,
											Line:   27,
										},
									},
								},
								Name: "covariance",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   28,
							},
							File:   "covariance_missing_column_1_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"r\"])\n    |> yield(name: \"0\")",
							Start: ast.Position{
								Column: 45,
								Line:   25,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   28,
									},
									File:   "covariance_missing_column_1_test.flux",
									Source: "name: \"0\"",
									Start: ast.Position{
										Column: 14,
										Line:   28,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   28,
										},
										File:   "covariance_missing_column_1_test.flux",
										Source: "name: \"0\"",
										Start: ast.Position{
											Column: 14,
											Line:   28,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   28,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   28,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   28,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "\"0\"",
											Start: ast.Position{
												Column: 20,
												Line:   28,
											},
										},
									},
									Value: "0",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   28,
								},
								File:   "covariance_missing_column_1_test.flux",
								Source: "yield(name: \"0\")",
								Start: ast.Position{
									Column: 8,
									Line:   28,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   28,
									},
									File:   "covariance_missing_column_1_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   25,
							},
							File:   "covariance_missing_column_1_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 32,
								Line:   25,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   25,
								},
								File:   "covariance_missing_column_1_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 32,
									Line:   25,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   25,
							},
							File:   "covariance_missing_column_1_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 38,
								Line:   25,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 156,
							Line:   30,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "_covariance_missing_column_1 = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_1})",
						Start: ast.Position{
							Column: 6,
							Line:   30,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 34,
								Line:   30,
							},
							File:   "covariance_missing_column_1_test.flux",
							Source: "_covariance_missing_column_1",
							Start: ast.Position{
								Column: 6,
								Line:   30,
							},
						},
					},
					Name: "_covariance_missing_column_1",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 156,
								Line:   30,
							},
							File:   "covariance_missing_column_1_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_1})",
							Start: ast.Position{
								Column: 37,
								Line:   30,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 156,
									Line:   30,
								},
								File:   "covariance_missing_column_1_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_1})",
								Start: ast.Position{
									Column: 43,
									Line:   30,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 155,
										Line:   30,
									},
									File:   "covariance_missing_column_1_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_1}",
									Start: ast.Position{
										Column: 44,
										Line:   30,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 84,
											Line:   30,
										},
										File:   "covariance_missing_column_1_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 45,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   30,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 45,
												Line:   30,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   30,
												},
												File:   "covariance_missing_column_1_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 72,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   30,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 72,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   30,
														},
														File:   "covariance_missing_column_1_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 72,
															Line:   30,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 83,
															Line:   30,
														},
														File:   "covariance_missing_column_1_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 77,
															Line:   30,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 84,
												Line:   30,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 52,
												Line:   30,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   30,
												},
												File:   "covariance_missing_column_1_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 52,
													Line:   30,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   30,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 52,
														Line:   30,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   30,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 60,
														Line:   30,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 121,
											Line:   30,
										},
										File:   "covariance_missing_column_1_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 86,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 90,
												Line:   30,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 86,
												Line:   30,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 120,
													Line:   30,
												},
												File:   "covariance_missing_column_1_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 108,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 120,
														Line:   30,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 108,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   30,
														},
														File:   "covariance_missing_column_1_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 108,
															Line:   30,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 120,
															Line:   30,
														},
														File:   "covariance_missing_column_1_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 113,
															Line:   30,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 121,
												Line:   30,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 92,
												Line:   30,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   30,
												},
												File:   "covariance_missing_column_1_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 92,
													Line:   30,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   30,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 92,
														Line:   30,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   30,
													},
													File:   "covariance_missing_column_1_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 100,
														Line:   30,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 154,
											Line:   30,
										},
										File:   "covariance_missing_column_1_test.flux",
										Source: "fn: covariance_missing_column_1",
										Start: ast.Position{
											Column: 123,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 125,
												Line:   30,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 123,
												Line:   30,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 154,
												Line:   30,
											},
											File:   "covariance_missing_column_1_test.flux",
											Source: "covariance_missing_column_1",
											Start: ast.Position{
												Column: 127,
												Line:   30,
											},
										},
									},
									Name: "covariance_missing_column_1",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 156,
						Line:   30,
					},
					File:   "covariance_missing_column_1_test.flux",
					Source: "test _covariance_missing_column_1 = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_1})",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "covariance_missing_column_1_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "covariance_missing_column_1_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "covariance_missing_column_1_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "covariance_missing_column_1_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 156,
					Line:   30,
				},
				File:   "covariance_missing_column_2_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,y,_measurement\n,,0,2018-05-22T19:53:26Z,0,cpu\n,,0,2018-05-22T19:53:36Z,0,cpu\n,,0,2018-05-22T19:53:46Z,2,cpu\n,,0,2018-05-22T19:53:56Z,7,cpu\n\"\noutData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,specified column does not exist in table: x,\n\"\ncovariance_missing_column_2 = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"y\"])\n    |> yield(name: \"0\")\n\ntest _covariance_missing_column_2 = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_2})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "covariance_missing_column_2_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "covariance_missing_column_2_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "covariance_missing_column_2_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "covariance_missing_column_2_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   17,
					},
					File:   "covariance_missing_column_2_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,y,_measurement\n,,0,2018-05-22T19:53:26Z,0,cpu\n,,0,2018-05-22T19:53:36Z,0,cpu\n,,0,2018-05-22T19:53:46Z,2,cpu\n,,0,2018-05-22T19:53:56Z,7,cpu\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   17,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,y,_measurement\n,,0,2018-05-22T19:53:26Z,0,cpu\n,,0,2018-05-22T19:53:36Z,0,cpu\n,,0,2018-05-22T19:53:46Z,2,cpu\n,,0,2018-05-22T19:53:56Z,7,cpu\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,y,_measurement\n,,0,2018-05-22T19:53:26Z,0,cpu\n,,0,2018-05-22T19:53:36Z,0,cpu\n,,0,2018-05-22T19:53:46Z,2,cpu\n,,0,2018-05-22T19:53:56Z,7,cpu\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   24,
					},
					File:   "covariance_missing_column_2_test.flux",
					Source: "outData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,specified column does not exist in table: x,\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   18,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   18,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   18,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   24,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "\"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,specified column does not exist in table: x,\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   18,
						},
					},
				},
				Value: "\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,specified column does not exist in table: x,\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   28,
					},
					File:   "covariance_missing_column_2_test.flux",
					Source: "covariance_missing_column_2 = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"y\"])\n    |> yield(name: \"0\")",
					Start: ast.Position{
						Column: 1,
						Line:   25,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 28,
							Line:   25,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "covariance_missing_column_2",
						Start: ast.Position{
							Column: 1,
							Line:   25,
						},
					},
				},
				Name: "covariance_missing_column_2",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   28,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"y\"])\n    |> yield(name: \"0\")",
						Start: ast.Position{
							Column: 31,
							Line:   25,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   25,
										},
										File:   "covariance_missing_column_2_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 45,
											Line:   25,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   26,
									},
									File:   "covariance_missing_column_2_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 45,
										Line:   25,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   26,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   26,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   26,
												},
												File:   "covariance_missing_column_2_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   26,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   26,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   26,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   26,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   26,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   26,
										},
										File:   "covariance_missing_column_2_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   26,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   26,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   26,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   27,
								},
								File:   "covariance_missing_column_2_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"y\"])",
								Start: ast.Position{
									Column: 45,
									Line:   25,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   27,
										},
										File:   "covariance_missing_column_2_test.flux",
										Source: "columns: [\"x\", \"y\"]",
										Start: ast.Position{
											Column: 19,
											Line:   27,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   27,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "columns: [\"x\", \"y\"]",
											Start: ast.Position{
												Column: 19,
												Line:   27,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   27,
												},
												File:   "covariance_missing_column_2_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 19,
													Line:   27,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 38,
													Line:   27,
												},
												File:   "covariance_missing_column_2_test.flux",
												Source: "[\"x\", \"y\"]",
												Start: ast.Position{
													Column: 28,
													Line:   27,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 32,
														Line:   27,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "\"x\"",
													Start: ast.Position{
														Column: 29,
														Line:   27,
													},
												},
											},
											Value: "x",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   27,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "\"y\"",
													Start: ast.Position{
														Column: 34,
														Line:   27,
													},
												},
											},
											Value: "y",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   27,
									},
									File:   "covariance_missing_column_2_test.flux",
									Source: "covariance(columns: [\"x\", \"y\"])",
									Start: ast.Position{
										Column: 8,
										Line:   27,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 18,
											Line:   27,
										},
										File:   "covariance_missing_column_2_test.flux",
										Source: "covariance",
										Start: ast.Position{
											Column: 8,
											Line:   27,
										},
									},
								},
								Name: "covariance",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   28,
							},
							File:   "covariance_missing_column_2_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"y\"])\n    |> yield(name: \"0\")",
							Start: ast.Position{
								Column: 45,
								Line:   25,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   28,
									},
									File:   "covariance_missing_column_2_test.flux",
									Source: "name: \"0\"",
									Start: ast.Position{
										Column: 14,
										Line:   28,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   28,
										},
										File:   "covariance_missing_column_2_test.flux",
										Source: "name: \"0\"",
										Start: ast.Position{
											Column: 14,
											Line:   28,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   28,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   28,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   28,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "\"0\"",
											Start: ast.Position{
												Column: 20,
												Line:   28,
											},
										},
									},
									Value: "0",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   28,
								},
								File:   "covariance_missing_column_2_test.flux",
								Source: "yield(name: \"0\")",
								Start: ast.Position{
									Column: 8,
									Line:   28,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   28,
									},
									File:   "covariance_missing_column_2_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   25,
							},
							File:   "covariance_missing_column_2_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 32,
								Line:   25,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   25,
								},
								File:   "covariance_missing_column_2_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 32,
									Line:   25,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   25,
							},
							File:   "covariance_missing_column_2_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 38,
								Line:   25,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 156,
							Line:   30,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "_covariance_missing_column_2 = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_2})",
						Start: ast.Position{
							Column: 6,
							Line:   30,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 34,
								Line:   30,
							},
							File:   "covariance_missing_column_2_test.flux",
							Source: "_covariance_missing_column_2",
							Start: ast.Position{
								Column: 6,
								Line:   30,
							},
						},
					},
					Name: "_covariance_missing_column_2",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 156,
								Line:   30,
							},
							File:   "covariance_missing_column_2_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_2})",
							Start: ast.Position{
								Column: 37,
								Line:   30,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 156,
									Line:   30,
								},
								File:   "covariance_missing_column_2_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_2})",
								Start: ast.Position{
									Column: 43,
									Line:   30,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 155,
										Line:   30,
									},
									File:   "covariance_missing_column_2_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_2}",
									Start: ast.Position{
										Column: 44,
										Line:   30,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 84,
											Line:   30,
										},
										File:   "covariance_missing_column_2_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 45,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   30,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 45,
												Line:   30,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   30,
												},
												File:   "covariance_missing_column_2_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 72,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   30,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 72,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   30,
														},
														File:   "covariance_missing_column_2_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 72,
															Line:   30,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 83,
															Line:   30,
														},
														File:   "covariance_missing_column_2_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 77,
															Line:   30,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 84,
												Line:   30,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 52,
												Line:   30,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   30,
												},
												File:   "covariance_missing_column_2_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 52,
													Line:   30,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   30,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 52,
														Line:   30,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   30,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 60,
														Line:   30,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 121,
											Line:   30,
										},
										File:   "covariance_missing_column_2_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 86,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 90,
												Line:   30,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 86,
												Line:   30,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 120,
													Line:   30,
												},
												File:   "covariance_missing_column_2_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 108,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 120,
														Line:   30,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 108,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   30,
														},
														File:   "covariance_missing_column_2_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 108,
															Line:   30,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 120,
															Line:   30,
														},
														File:   "covariance_missing_column_2_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 113,
															Line:   30,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 121,
												Line:   30,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 92,
												Line:   30,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   30,
												},
												File:   "covariance_missing_column_2_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 92,
													Line:   30,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   30,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 92,
														Line:   30,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   30,
													},
													File:   "covariance_missing_column_2_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 100,
														Line:   30,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 154,
											Line:   30,
										},
										File:   "covariance_missing_column_2_test.flux",
										Source: "fn: covariance_missing_column_2",
										Start: ast.Position{
											Column: 123,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 125,
												Line:   30,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 123,
												Line:   30,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 154,
												Line:   30,
											},
											File:   "covariance_missing_column_2_test.flux",
											Source: "covariance_missing_column_2",
											Start: ast.Position{
												Column: 127,
												Line:   30,
											},
										},
									},
									Name: "covariance_missing_column_2",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 156,
						Line:   30,
					},
					File:   "covariance_missing_column_2_test.flux",
					Source: "test _covariance_missing_column_2 = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: covariance_missing_column_2})",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "covariance_missing_column_2_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "covariance_missing_column_2_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "covariance_missing_column_2_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "covariance_missing_column_2_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 126,
					Line:   34,
				},
				File:   "covariance_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,double,string,string\n#group,false,false,false,false,false,true,true\n#default,_result,,,,,,\n,result,table,_time,x,y,_measurement,_field\n,,0,2018-05-22T19:53:26Z,1,4,cpu,f0\n,,0,2018-05-22T19:53:36Z,2,3,cpu,f0\n,,0,2018-05-22T19:53:46Z,3,2,cpu,f0\n,,0,2018-05-22T19:53:56Z,4,1,cpu,f0\n,,1,2018-05-22T19:53:26Z,10,40,mem,f1\n,,1,2018-05-22T19:53:36Z,20,30,mem,f1\n,,1,2018-05-22T19:53:46Z,30,20,mem,f1\n,,1,2018-05-22T19:53:56Z,40,10,mem,f1\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,false,true\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_value,_field\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,cpu,-1.6666666666666667,f0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,mem,-166.66666666666666,f1\n\"\nt_covariance = (tables=<-) => tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"y\"])\n\ntest _t_covariance = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_covariance})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "covariance_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "covariance_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "covariance_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "covariance_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "covariance_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   21,
					},
					File:   "covariance_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,double,string,string\n#group,false,false,false,false,false,true,true\n#default,_result,,,,,,\n,result,table,_time,x,y,_measurement,_field\n,,0,2018-05-22T19:53:26Z,1,4,cpu,f0\n,,0,2018-05-22T19:53:36Z,2,3,cpu,f0\n,,0,2018-05-22T19:53:46Z,3,2,cpu,f0\n,,0,2018-05-22T19:53:56Z,4,1,cpu,f0\n,,1,2018-05-22T19:53:26Z,10,40,mem,f1\n,,1,2018-05-22T19:53:36Z,20,30,mem,f1\n,,1,2018-05-22T19:53:46Z,30,20,mem,f1\n,,1,2018-05-22T19:53:56Z,40,10,mem,f1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "covariance_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   21,
						},
						File:   "covariance_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,double,string,string\n#group,false,false,false,false,false,true,true\n#default,_result,,,,,,\n,result,table,_time,x,y,_measurement,_field\n,,0,2018-05-22T19:53:26Z,1,4,cpu,f0\n,,0,2018-05-22T19:53:36Z,2,3,cpu,f0\n,,0,2018-05-22T19:53:46Z,3,2,cpu,f0\n,,0,2018-05-22T19:53:56Z,4,1,cpu,f0\n,,1,2018-05-22T19:53:26Z,10,40,mem,f1\n,,1,2018-05-22T19:53:36Z,20,30,mem,f1\n,,1,2018-05-22T19:53:46Z,30,20,mem,f1\n,,1,2018-05-22T19:53:56Z,40,10,mem,f1\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,double,string,string\n#group,false,false,false,false,false,true,true\n#default,_result,,,,,,\n,result,table,_time,x,y,_measurement,_field\n,,0,2018-05-22T19:53:26Z,1,4,cpu,f0\n,,0,2018-05-22T19:53:36Z,2,3,cpu,f0\n,,0,2018-05-22T19:53:46Z,3,2,cpu,f0\n,,0,2018-05-22T19:53:56Z,4,1,cpu,f0\n,,1,2018-05-22T19:53:26Z,10,40,mem,f1\n,,1,2018-05-22T19:53:36Z,20,30,mem,f1\n,,1,2018-05-22T19:53:46Z,30,20,mem,f1\n,,1,2018-05-22T19:53:56Z,40,10,mem,f1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "covariance_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,false,true\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_value,_field\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,cpu,-1.6666666666666667,f0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,mem,-166.66666666666666,f1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   22,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   22,
						},
						File:   "covariance_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   22,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "covariance_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,false,true\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_value,_field\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,cpu,-1.6666666666666667,f0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,mem,-166.66666666666666,f1\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   22,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,false,true\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_value,_field\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,cpu,-1.6666666666666667,f0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,mem,-166.66666666666666,f1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 39,
						Line:   32,
					},
					File:   "covariance_test.flux",
					Source: "t_covariance = (tables=<-) => tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"y\"])",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   30,
						},
						File:   "covariance_test.flux",
						Source: "t_covariance",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "t_covariance",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 39,
							Line:   32,
						},
						File:   "covariance_test.flux",
						Source: "(tables=<-) => tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"y\"])",
						Start: ast.Position{
							Column: 16,
							Line:   30,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   30,
									},
									File:   "covariance_test.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 31,
										Line:   30,
									},
								},
							},
							Name: "tables",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   31,
								},
								File:   "covariance_test.flux",
								Source: "tables\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 31,
									Line:   30,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   31,
										},
										File:   "covariance_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   31,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   31,
											},
											File:   "covariance_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   31,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "covariance_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   31,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   31,
												},
												File:   "covariance_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   31,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   31,
									},
									File:   "covariance_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   31,
										},
										File:   "covariance_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   31,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   32,
							},
							File:   "covariance_test.flux",
							Source: "tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> covariance(columns: [\"x\", \"y\"])",
							Start: ast.Position{
								Column: 31,
								Line:   30,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   32,
									},
									File:   "covariance_test.flux",
									Source: "columns: [\"x\", \"y\"]",
									Start: ast.Position{
										Column: 19,
										Line:   32,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   32,
										},
										File:   "covariance_test.flux",
										Source: "columns: [\"x\", \"y\"]",
										Start: ast.Position{
											Column: 19,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   32,
											},
											File:   "covariance_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 19,
												Line:   32,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   32,
											},
											File:   "covariance_test.flux",
											Source: "[\"x\", \"y\"]",
											Start: ast.Position{
												Column: 28,
												Line:   32,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   32,
												},
												File:   "covariance_test.flux",
												Source: "\"x\"",
												Start: ast.Position{
													Column: 29,
													Line:   32,
												},
											},
										},
										Value: "x",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   32,
												},
												File:   "covariance_test.flux",
												Source: "\"y\"",
												Start: ast.Position{
													Column: 34,
													Line:   32,
												},
											},
										},
										Value: "y",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   32,
								},
								File:   "covariance_test.flux",
								Source: "covariance(columns: [\"x\", \"y\"])",
								Start: ast.Position{
									Column: 8,
									Line:   32,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   32,
									},
									File:   "covariance_test.flux",
									Source: "covariance",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Name: "covariance",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   30,
							},
							File:   "covariance_test.flux",
							Source: "tables=<-",
							Start: ast.Position{
								Column: 17,
								Line:   30,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 23,
									Line:   30,
								},
								File:   "covariance_test.flux",
								Source: "tables",
								Start: ast.Position{
									Column: 17,
									Line:   30,
								},
							},
						},
						Name: "tables",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   30,
							},
							File:   "covariance_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 24,
								Line:   30,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 126,
							Line:   34,
						},
						File:   "covariance_test.flux",
						Source: "_t_covariance = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_covariance})",
						Start: ast.Position{
							Column: 6,
							Line:   34,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   34,
							},
							File:   "covariance_test.flux",
							Source: "_t_covariance",
							Start: ast.Position{
								Column: 6,
								Line:   34,
							},
						},
					},
					Name: "_t_covariance",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 126,
								Line:   34,
							},
							File:   "covariance_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_covariance})",
							Start: ast.Position{
								Column: 22,
								Line:   34,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 126,
									Line:   34,
								},
								File:   "covariance_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_covariance})",
								Start: ast.Position{
									Column: 28,
									Line:   34,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 125,
										Line:   34,
									},
									File:   "covariance_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_covariance}",
									Start: ast.Position{
										Column: 29,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   34,
										},
										File:   "covariance_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 30,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   34,
											},
											File:   "covariance_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 30,
												Line:   34,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   34,
												},
												File:   "covariance_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 57,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   34,
													},
													File:   "covariance_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 57,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   34,
														},
														File:   "covariance_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 57,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   34,
														},
														File:   "covariance_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 62,
															Line:   34,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   34,
											},
											File:   "covariance_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 37,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   34,
												},
												File:   "covariance_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 37,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   34,
													},
													File:   "covariance_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 37,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   34,
													},
													File:   "covariance_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 45,
														Line:   34,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   34,
										},
										File:   "covariance_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 71,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   34,
											},
											File:   "covariance_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 71,
												Line:   34,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 105,
													Line:   34,
												},
												File:   "covariance_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 93,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   34,
													},
													File:   "covariance_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 93,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   34,
														},
														File:   "covariance_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 93,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   34,
														},
														File:   "covariance_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 98,
															Line:   34,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   34,
											},
											File:   "covariance_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 77,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   34,
												},
												File:   "covariance_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 77,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   34,
													},
													File:   "covariance_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 77,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   34,
													},
													File:   "covariance_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 85,
														Line:   34,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 124,
											Line:   34,
										},
										File:   "covariance_test.flux",
										Source: "fn: t_covariance",
										Start: ast.Position{
											Column: 108,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   34,
											},
											File:   "covariance_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 108,
												Line:   34,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 124,
												Line:   34,
											},
											File:   "covariance_test.flux",
											Source: "t_covariance",
											Start: ast.Position{
												Column: 112,
												Line:   34,
											},
										},
									},
									Name: "t_covariance",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 126,
						Line:   34,
					},
					File:   "covariance_test.flux",
					Source: "test _t_covariance = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_covariance})",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "covariance_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "covariance_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "covariance_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "covariance_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "covariance_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 148,
					Line:   68,
				},
				File:   "cumulative_sum_default_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-22T19:53:40Z,_m,FF,1\n,,0,2018-05-22T19:53:50Z,_m,FF,1\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,1\n,,0,2018-05-22T19:53:20Z,_m,FF,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,1,2018-05-22T19:54:10Z,_m,QQ,1\n,,1,2018-05-22T19:54:30Z,_m,QQ,1\n,,1,2018-05-22T19:54:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,1\n,,2,2018-05-22T19:54:40Z,_m,RR,1\n,,2,2018-05-22T19:53:50Z,_m,RR,1\n,,3,2018-05-22T19:54:00Z,_m,SR,1\n,,3,2018-05-22T19:54:10Z,_m,SR,1\n,,3,2018-05-22T19:54:20Z,_m,SR,1\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,false,true,true,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_measurement,_field,_value\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,FF,2\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,FF,3\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m,FF,4\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,FF,5\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m,FF,6\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,QQ,2\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,QQ,3\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,QQ,4\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,QQ,5\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m,QQ,6\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,QQ,7\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,QQ,8\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,QQ,9\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,RR,2\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,RR,3\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,RR,4\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,SR,1\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,SR,2\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m,SR,3\n\"\nt_cumulative_sum_default = (table=<-) => table\n    |> range(start: 2018-05-15T00:00:00Z)\n    |> cumulativeSum()\n\ntest _cumulative_sum_default = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_default})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "cumulative_sum_default_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "cumulative_sum_default_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "cumulative_sum_default_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "cumulative_sum_default_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "cumulative_sum_default_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-22T19:53:40Z,_m,FF,1\n,,0,2018-05-22T19:53:50Z,_m,FF,1\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,1\n,,0,2018-05-22T19:53:20Z,_m,FF,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,1,2018-05-22T19:54:10Z,_m,QQ,1\n,,1,2018-05-22T19:54:30Z,_m,QQ,1\n,,1,2018-05-22T19:54:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,1\n,,2,2018-05-22T19:54:40Z,_m,RR,1\n,,2,2018-05-22T19:53:50Z,_m,RR,1\n,,3,2018-05-22T19:54:00Z,_m,SR,1\n,,3,2018-05-22T19:54:10Z,_m,SR,1\n,,3,2018-05-22T19:54:20Z,_m,SR,1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-22T19:53:40Z,_m,FF,1\n,,0,2018-05-22T19:53:50Z,_m,FF,1\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,1\n,,0,2018-05-22T19:53:20Z,_m,FF,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,1,2018-05-22T19:54:10Z,_m,QQ,1\n,,1,2018-05-22T19:54:30Z,_m,QQ,1\n,,1,2018-05-22T19:54:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,1\n,,2,2018-05-22T19:54:40Z,_m,RR,1\n,,2,2018-05-22T19:53:50Z,_m,RR,1\n,,3,2018-05-22T19:54:00Z,_m,SR,1\n,,3,2018-05-22T19:54:10Z,_m,SR,1\n,,3,2018-05-22T19:54:20Z,_m,SR,1\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-22T19:53:40Z,_m,FF,1\n,,0,2018-05-22T19:53:50Z,_m,FF,1\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,1\n,,0,2018-05-22T19:53:20Z,_m,FF,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,1,2018-05-22T19:54:10Z,_m,QQ,1\n,,1,2018-05-22T19:54:30Z,_m,QQ,1\n,,1,2018-05-22T19:54:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,1\n,,2,2018-05-22T19:54:40Z,_m,RR,1\n,,2,2018-05-22T19:53:50Z,_m,RR,1\n,,3,2018-05-22T19:54:00Z,_m,SR,1\n,,3,2018-05-22T19:54:10Z,_m,SR,1\n,,3,2018-05-22T19:54:20Z,_m,SR,1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   63,
					},
					File:   "cumulative_sum_default_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,false,true,true,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_measurement,_field,_value\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,FF,2\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,FF,3\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m,FF,4\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,FF,5\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m,FF,6\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,QQ,2\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,QQ,3\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,QQ,4\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,QQ,5\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m,QQ,6\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,QQ,7\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,QQ,8\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,QQ,9\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,RR,2\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,RR,3\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,RR,4\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,SR,1\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,SR,2\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m,SR,3\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   36,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   63,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,false,true,true,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_measurement,_field,_value\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,FF,2\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,FF,3\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m,FF,4\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,FF,5\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m,FF,6\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,QQ,2\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,QQ,3\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,QQ,4\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,QQ,5\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m,QQ,6\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,QQ,7\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,QQ,8\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,QQ,9\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,RR,2\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,RR,3\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,RR,4\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,SR,1\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,SR,2\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m,SR,3\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   36,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,false,true,true,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_measurement,_field,_value\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,FF,2\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,FF,3\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m,FF,4\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,FF,5\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m,FF,6\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,QQ,2\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,QQ,3\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,QQ,4\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,QQ,5\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m,QQ,6\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,QQ,7\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,QQ,8\n,,1,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,QQ,9\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,RR,2\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,RR,3\n,,2,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,RR,4\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,SR,1\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,SR,2\n,,3,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m,SR,3\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 23,
						Line:   66,
					},
					File:   "cumulative_sum_default_test.flux",
					Source: "t_cumulative_sum_default = (table=<-) => table\n    |> range(start: 2018-05-15T00:00:00Z)\n    |> cumulativeSum()",
					Start: ast.Position{
						Column: 1,
						Line:   64,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   64,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "t_cumulative_sum_default",
						Start: ast.Position{
							Column: 1,
							Line:   64,
						},
					},
				},
				Name: "t_cumulative_sum_default",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 23,
							Line:   66,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-15T00:00:00Z)\n    |> cumulativeSum()",
						Start: ast.Position{
							Column: 28,
							Line:   64,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 47,
										Line:   64,
									},
									File:   "cumulative_sum_default_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 42,
										Line:   64,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   65,
								},
								File:   "cumulative_sum_default_test.flux",
								Source: "table\n    |> range(start: 2018-05-15T00:00:00Z)",
								Start: ast.Position{
									Column: 42,
									Line:   64,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   65,
										},
										File:   "cumulative_sum_default_test.flux",
										Source: "start: 2018-05-15T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   65,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   65,
											},
											File:   "cumulative_sum_default_test.flux",
											Source: "start: 2018-05-15T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   65,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   65,
												},
												File:   "cumulative_sum_default_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   65,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   65,
												},
												File:   "cumulative_sum_default_test.flux",
												Source: "2018-05-15T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   65,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-15T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   65,
									},
									File:   "cumulative_sum_default_test.flux",
									Source: "range(start: 2018-05-15T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   65,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   65,
										},
										File:   "cumulative_sum_default_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   65,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   66,
							},
							File:   "cumulative_sum_default_test.flux",
							Source: "table\n    |> range(start: 2018-05-15T00:00:00Z)\n    |> cumulativeSum()",
							Start: ast.Position{
								Column: 42,
								Line:   64,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 23,
									Line:   66,
								},
								File:   "cumulative_sum_default_test.flux",
								Source: "cumulativeSum()",
								Start: ast.Position{
									Column: 8,
									Line:   66,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   66,
									},
									File:   "cumulative_sum_default_test.flux",
									Source: "cumulativeSum",
									Start: ast.Position{
										Column: 8,
										Line:   66,
									},
								},
							},
							Name: "cumulativeSum",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 37,
								Line:   64,
							},
							File:   "cumulative_sum_default_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 29,
								Line:   64,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 34,
									Line:   64,
								},
								File:   "cumulative_sum_default_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 29,
									Line:   64,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 37,
								Line:   64,
							},
							File:   "cumulative_sum_default_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 35,
								Line:   64,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 148,
							Line:   68,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "_cumulative_sum_default = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_default})",
						Start: ast.Position{
							Column: 6,
							Line:   68,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   68,
							},
							File:   "cumulative_sum_default_test.flux",
							Source: "_cumulative_sum_default",
							Start: ast.Position{
								Column: 6,
								Line:   68,
							},
						},
					},
					Name: "_cumulative_sum_default",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 148,
								Line:   68,
							},
							File:   "cumulative_sum_default_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_default})",
							Start: ast.Position{
								Column: 32,
								Line:   68,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 148,
									Line:   68,
								},
								File:   "cumulative_sum_default_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_default})",
								Start: ast.Position{
									Column: 38,
									Line:   68,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 147,
										Line:   68,
									},
									File:   "cumulative_sum_default_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_default}",
									Start: ast.Position{
										Column: 39,
										Line:   68,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 79,
											Line:   68,
										},
										File:   "cumulative_sum_default_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 40,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   68,
											},
											File:   "cumulative_sum_default_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 40,
												Line:   68,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   68,
												},
												File:   "cumulative_sum_default_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 67,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   68,
													},
													File:   "cumulative_sum_default_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 67,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   68,
														},
														File:   "cumulative_sum_default_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 67,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 78,
															Line:   68,
														},
														File:   "cumulative_sum_default_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 72,
															Line:   68,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   68,
											},
											File:   "cumulative_sum_default_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 47,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   68,
												},
												File:   "cumulative_sum_default_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 47,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   68,
													},
													File:   "cumulative_sum_default_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 47,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   68,
													},
													File:   "cumulative_sum_default_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 55,
														Line:   68,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   68,
										},
										File:   "cumulative_sum_default_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 81,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 85,
												Line:   68,
											},
											File:   "cumulative_sum_default_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 81,
												Line:   68,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 115,
													Line:   68,
												},
												File:   "cumulative_sum_default_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 103,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 115,
														Line:   68,
													},
													File:   "cumulative_sum_default_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 103,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   68,
														},
														File:   "cumulative_sum_default_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 103,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 115,
															Line:   68,
														},
														File:   "cumulative_sum_default_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 108,
															Line:   68,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   68,
											},
											File:   "cumulative_sum_default_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 87,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   68,
												},
												File:   "cumulative_sum_default_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 87,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   68,
													},
													File:   "cumulative_sum_default_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 87,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   68,
													},
													File:   "cumulative_sum_default_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 95,
														Line:   68,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 146,
											Line:   68,
										},
										File:   "cumulative_sum_default_test.flux",
										Source: "fn: t_cumulative_sum_default",
										Start: ast.Position{
											Column: 118,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   68,
											},
											File:   "cumulative_sum_default_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 118,
												Line:   68,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 146,
												Line:   68,
											},
											File:   "cumulative_sum_default_test.flux",
											Source: "t_cumulative_sum_default",
											Start: ast.Position{
												Column: 122,
												Line:   68,
											},
										},
									},
									Name: "t_cumulative_sum_default",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 148,
						Line:   68,
					},
					File:   "cumulative_sum_default_test.flux",
					Source: "test _cumulative_sum_default = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_default})",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "cumulative_sum_default_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "cumulative_sum_default_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "cumulative_sum_default_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "cumulative_sum_default_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 142,
					Line:   68,
				},
				File:   "cumulative_sum_noop_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,long,string\n#group,false,false,false,true,false,true\n#default,_result,,,,,\n,result,table,_time,_measurement,values,_field\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:53:00Z,_m,1,f0\n,,0,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-22T19:53:20Z,_m,1,f0\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-22T19:54:30Z,_m,1,f0\n,,0,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-22T19:54:20Z,_m,1,f0\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,long,string\n#group,false,false,true,true,false,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_measurement,values,_field\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m,1,f0\n\"\nt_cumulative_sum_noop = (table=<-) => table\n    |> range(start: 2018-05-15T00:00:00Z)\n    |> cumulativeSum()\n\ntest _cumulative_sum_noop = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_noop})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "cumulative_sum_noop_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "cumulative_sum_noop_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "cumulative_sum_noop_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "cumulative_sum_noop_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "cumulative_sum_noop_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,long,string\n#group,false,false,false,true,false,true\n#default,_result,,,,,\n,result,table,_time,_measurement,values,_field\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:53:00Z,_m,1,f0\n,,0,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-22T19:53:20Z,_m,1,f0\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-22T19:54:30Z,_m,1,f0\n,,0,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-22T19:54:20Z,_m,1,f0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,long,string\n#group,false,false,false,true,false,true\n#default,_result,,,,,\n,result,table,_time,_measurement,values,_field\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:53:00Z,_m,1,f0\n,,0,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-22T19:53:20Z,_m,1,f0\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-22T19:54:30Z,_m,1,f0\n,,0,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-22T19:54:20Z,_m,1,f0\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,long,string\n#group,false,false,false,true,false,true\n#default,_result,,,,,\n,result,table,_time,_measurement,values,_field\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:53:00Z,_m,1,f0\n,,0,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-22T19:53:20Z,_m,1,f0\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-22T19:54:30Z,_m,1,f0\n,,0,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-22T19:54:20Z,_m,1,f0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   63,
					},
					File:   "cumulative_sum_noop_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,long,string\n#group,false,false,true,true,false,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_measurement,values,_field\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m,1,f0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   36,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   63,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,long,string\n#group,false,false,true,true,false,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_measurement,values,_field\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m,1,f0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   36,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,long,string\n#group,false,false,true,true,false,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_measurement,values,_field\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m,1,f0\n,,0,2018-05-15T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m,1,f0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 23,
						Line:   66,
					},
					File:   "cumulative_sum_noop_test.flux",
					Source: "t_cumulative_sum_noop = (table=<-) => table\n    |> range(start: 2018-05-15T00:00:00Z)\n    |> cumulativeSum()",
					Start: ast.Position{
						Column: 1,
						Line:   64,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   64,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "t_cumulative_sum_noop",
						Start: ast.Position{
							Column: 1,
							Line:   64,
						},
					},
				},
				Name: "t_cumulative_sum_noop",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 23,
							Line:   66,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-15T00:00:00Z)\n    |> cumulativeSum()",
						Start: ast.Position{
							Column: 25,
							Line:   64,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 44,
										Line:   64,
									},
									File:   "cumulative_sum_noop_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 39,
										Line:   64,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   65,
								},
								File:   "cumulative_sum_noop_test.flux",
								Source: "table\n    |> range(start: 2018-05-15T00:00:00Z)",
								Start: ast.Position{
									Column: 39,
									Line:   64,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   65,
										},
										File:   "cumulative_sum_noop_test.flux",
										Source: "start: 2018-05-15T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   65,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   65,
											},
											File:   "cumulative_sum_noop_test.flux",
											Source: "start: 2018-05-15T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   65,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   65,
												},
												File:   "cumulative_sum_noop_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   65,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   65,
												},
												File:   "cumulative_sum_noop_test.flux",
												Source: "2018-05-15T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   65,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-15T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   65,
									},
									File:   "cumulative_sum_noop_test.flux",
									Source: "range(start: 2018-05-15T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   65,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   65,
										},
										File:   "cumulative_sum_noop_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   65,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   66,
							},
							File:   "cumulative_sum_noop_test.flux",
							Source: "table\n    |> range(start: 2018-05-15T00:00:00Z)\n    |> cumulativeSum()",
							Start: ast.Position{
								Column: 39,
								Line:   64,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 23,
									Line:   66,
								},
								File:   "cumulative_sum_noop_test.flux",
								Source: "cumulativeSum()",
								Start: ast.Position{
									Column: 8,
									Line:   66,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   66,
									},
									File:   "cumulative_sum_noop_test.flux",
									Source: "cumulativeSum",
									Start: ast.Position{
										Column: 8,
										Line:   66,
									},
								},
							},
							Name: "cumulativeSum",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 34,
								Line:   64,
							},
							File:   "cumulative_sum_noop_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 26,
								Line:   64,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 31,
									Line:   64,
								},
								File:   "cumulative_sum_noop_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 26,
									Line:   64,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 34,
								Line:   64,
							},
							File:   "cumulative_sum_noop_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 32,
								Line:   64,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 142,
							Line:   68,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "_cumulative_sum_noop = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_noop})",
						Start: ast.Position{
							Column: 6,
							Line:   68,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   68,
							},
							File:   "cumulative_sum_noop_test.flux",
							Source: "_cumulative_sum_noop",
							Start: ast.Position{
								Column: 6,
								Line:   68,
							},
						},
					},
					Name: "_cumulative_sum_noop",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 142,
								Line:   68,
							},
							File:   "cumulative_sum_noop_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_noop})",
							Start: ast.Position{
								Column: 29,
								Line:   68,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 142,
									Line:   68,
								},
								File:   "cumulative_sum_noop_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_noop})",
								Start: ast.Position{
									Column: 35,
									Line:   68,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 141,
										Line:   68,
									},
									File:   "cumulative_sum_noop_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_noop}",
									Start: ast.Position{
										Column: 36,
										Line:   68,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   68,
										},
										File:   "cumulative_sum_noop_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 37,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   68,
											},
											File:   "cumulative_sum_noop_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 37,
												Line:   68,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 75,
													Line:   68,
												},
												File:   "cumulative_sum_noop_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 64,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   68,
													},
													File:   "cumulative_sum_noop_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 64,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   68,
														},
														File:   "cumulative_sum_noop_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 64,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   68,
														},
														File:   "cumulative_sum_noop_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 69,
															Line:   68,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   68,
											},
											File:   "cumulative_sum_noop_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 44,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   68,
												},
												File:   "cumulative_sum_noop_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 44,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   68,
													},
													File:   "cumulative_sum_noop_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 44,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   68,
													},
													File:   "cumulative_sum_noop_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 52,
														Line:   68,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 113,
											Line:   68,
										},
										File:   "cumulative_sum_noop_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 78,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   68,
											},
											File:   "cumulative_sum_noop_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 78,
												Line:   68,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 112,
													Line:   68,
												},
												File:   "cumulative_sum_noop_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 100,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 112,
														Line:   68,
													},
													File:   "cumulative_sum_noop_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 100,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   68,
														},
														File:   "cumulative_sum_noop_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 100,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 112,
															Line:   68,
														},
														File:   "cumulative_sum_noop_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 105,
															Line:   68,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   68,
											},
											File:   "cumulative_sum_noop_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 84,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   68,
												},
												File:   "cumulative_sum_noop_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 84,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   68,
													},
													File:   "cumulative_sum_noop_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 84,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   68,
													},
													File:   "cumulative_sum_noop_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 92,
														Line:   68,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 140,
											Line:   68,
										},
										File:   "cumulative_sum_noop_test.flux",
										Source: "fn: t_cumulative_sum_noop",
										Start: ast.Position{
											Column: 115,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 117,
												Line:   68,
											},
											File:   "cumulative_sum_noop_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 115,
												Line:   68,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 140,
												Line:   68,
											},
											File:   "cumulative_sum_noop_test.flux",
											Source: "t_cumulative_sum_noop",
											Start: ast.Position{
												Column: 119,
												Line:   68,
											},
										},
									},
									Name: "t_cumulative_sum_noop",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 142,
						Line:   68,
					},
					File:   "cumulative_sum_noop_test.flux",
					Source: "test _cumulative_sum_noop = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum_noop})",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "cumulative_sum_noop_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "cumulative_sum_noop_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "cumulative_sum_noop_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "cumulative_sum_noop_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   68,
				},
				File:   "cumulative_sum_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,long,long,long,string\n#group,false,false,false,true,false,false,false,true\n#default,_result,,,,,,,\n,result,table,_time,_measurement,v0,v1,v2,_field\n,,0,2018-05-22T19:53:30Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:40Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:50Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:00Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:10Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:20Z,_m0,1,10,100,f0\n,,1,2018-05-22T19:53:30Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:40Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:50Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:00Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:10Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:30Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:40Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:50Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:00Z,_m1,1,10,100,f1\n,,2,2018-05-22T19:53:10Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:53:30Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:54:40Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:53:50Z,_m2,1,10,100,f2\n,,3,2018-05-22T19:54:00Z,_m3,1,10,100,f3\n,,3,2018-05-22T19:54:10Z,_m3,1,10,100,f3\n,,3,2018-05-22T19:54:20Z,_m3,1,10,100,f3\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,long,long,long,string\n#group,false,false,true,true,false,true,false,false,false,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,v0,v1,v2,_field\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m0,1,10,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m0,2,20,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m0,3,30,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m0,4,40,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m0,5,50,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m0,6,60,100,f0\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m1,1,10,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m1,2,20,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m1,3,30,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m1,4,40,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m1,5,50,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m1,6,60,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m1,7,70,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m1,8,80,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m1,9,90,100,f1\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m2,1,10,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m2,2,20,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m2,3,30,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m2,4,40,100,f2\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m3,1,10,100,f3\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m3,2,20,100,f3\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m3,3,30,100,f3\n\"\nt_cumulative_sum = (table=<-) => table\n    |> range(start: 2018-05-20T00:00:00Z)\n    |> cumulativeSum(columns: [\"v0\", \"v1\"])\n\ntest _cumulative_sum = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "cumulative_sum_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "cumulative_sum_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "cumulative_sum_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "cumulative_sum_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "cumulative_sum_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "cumulative_sum_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,long,long,long,string\n#group,false,false,false,true,false,false,false,true\n#default,_result,,,,,,,\n,result,table,_time,_measurement,v0,v1,v2,_field\n,,0,2018-05-22T19:53:30Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:40Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:50Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:00Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:10Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:20Z,_m0,1,10,100,f0\n,,1,2018-05-22T19:53:30Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:40Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:50Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:00Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:10Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:30Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:40Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:50Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:00Z,_m1,1,10,100,f1\n,,2,2018-05-22T19:53:10Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:53:30Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:54:40Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:53:50Z,_m2,1,10,100,f2\n,,3,2018-05-22T19:54:00Z,_m3,1,10,100,f3\n,,3,2018-05-22T19:54:10Z,_m3,1,10,100,f3\n,,3,2018-05-22T19:54:20Z,_m3,1,10,100,f3\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "cumulative_sum_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "cumulative_sum_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,long,long,long,string\n#group,false,false,false,true,false,false,false,true\n#default,_result,,,,,,,\n,result,table,_time,_measurement,v0,v1,v2,_field\n,,0,2018-05-22T19:53:30Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:40Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:50Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:00Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:10Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:20Z,_m0,1,10,100,f0\n,,1,2018-05-22T19:53:30Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:40Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:50Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:00Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:10Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:30Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:40Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:50Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:00Z,_m1,1,10,100,f1\n,,2,2018-05-22T19:53:10Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:53:30Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:54:40Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:53:50Z,_m2,1,10,100,f2\n,,3,2018-05-22T19:54:00Z,_m3,1,10,100,f3\n,,3,2018-05-22T19:54:10Z,_m3,1,10,100,f3\n,,3,2018-05-22T19:54:20Z,_m3,1,10,100,f3\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,long,long,long,string\n#group,false,false,false,true,false,false,false,true\n#default,_result,,,,,,,\n,result,table,_time,_measurement,v0,v1,v2,_field\n,,0,2018-05-22T19:53:30Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:40Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:50Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:00Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:10Z,_m0,1,10,100,f0\n,,0,2018-05-22T19:53:20Z,_m0,1,10,100,f0\n,,1,2018-05-22T19:53:30Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:40Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:50Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:00Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:10Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:30Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:40Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:53:50Z,_m1,1,10,100,f1\n,,1,2018-05-22T19:54:00Z,_m1,1,10,100,f1\n,,2,2018-05-22T19:53:10Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:53:30Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:54:40Z,_m2,1,10,100,f2\n,,2,2018-05-22T19:53:50Z,_m2,1,10,100,f2\n,,3,2018-05-22T19:54:00Z,_m3,1,10,100,f3\n,,3,2018-05-22T19:54:10Z,_m3,1,10,100,f3\n,,3,2018-05-22T19:54:20Z,_m3,1,10,100,f3\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   63,
					},
					File:   "cumulative_sum_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,long,long,long,string\n#group,false,false,true,true,false,true,false,false,false,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,v0,v1,v2,_field\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m0,1,10,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m0,2,20,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m0,3,30,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m0,4,40,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m0,5,50,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m0,6,60,100,f0\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m1,1,10,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m1,2,20,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m1,3,30,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m1,4,40,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m1,5,50,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m1,6,60,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m1,7,70,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m1,8,80,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m1,9,90,100,f1\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m2,1,10,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m2,2,20,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m2,3,30,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m2,4,40,100,f2\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m3,1,10,100,f3\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m3,2,20,100,f3\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m3,3,30,100,f3\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   36,
						},
						File:   "cumulative_sum_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   63,
						},
						File:   "cumulative_sum_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,long,long,long,string\n#group,false,false,true,true,false,true,false,false,false,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,v0,v1,v2,_field\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m0,1,10,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m0,2,20,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m0,3,30,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m0,4,40,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m0,5,50,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m0,6,60,100,f0\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m1,1,10,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m1,2,20,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m1,3,30,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m1,4,40,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m1,5,50,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m1,6,60,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m1,7,70,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m1,8,80,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m1,9,90,100,f1\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m2,1,10,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m2,2,20,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m2,3,30,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m2,4,40,100,f2\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m3,1,10,100,f3\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m3,2,20,100,f3\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m3,3,30,100,f3\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   36,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,long,long,long,string\n#group,false,false,true,true,false,true,false,false,false,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,v0,v1,v2,_field\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m0,1,10,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m0,2,20,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m0,3,30,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,_m0,4,40,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m0,5,50,100,f0\n,,0,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:20Z,_m0,6,60,100,f0\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m1,1,10,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:40Z,_m1,2,20,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m1,3,30,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m1,4,40,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m1,5,50,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:30Z,_m1,6,60,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m1,7,70,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m1,8,80,100,f1\n,,1,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m1,9,90,100,f1\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:10Z,_m2,1,10,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:30Z,_m2,2,20,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:40Z,_m2,3,30,100,f2\n,,2,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:50Z,_m2,4,40,100,f2\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:00Z,_m3,1,10,100,f3\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:10Z,_m3,2,20,100,f3\n,,3,2018-05-20T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T19:54:20Z,_m3,3,30,100,f3\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 44,
						Line:   66,
					},
					File:   "cumulative_sum_test.flux",
					Source: "t_cumulative_sum = (table=<-) => table\n    |> range(start: 2018-05-20T00:00:00Z)\n    |> cumulativeSum(columns: [\"v0\", \"v1\"])",
					Start: ast.Position{
						Column: 1,
						Line:   64,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   64,
						},
						File:   "cumulative_sum_test.flux",
						Source: "t_cumulative_sum",
						Start: ast.Position{
							Column: 1,
							Line:   64,
						},
					},
				},
				Name: "t_cumulative_sum",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 44,
							Line:   66,
						},
						File:   "cumulative_sum_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-20T00:00:00Z)\n    |> cumulativeSum(columns: [\"v0\", \"v1\"])",
						Start: ast.Position{
							Column: 20,
							Line:   64,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   64,
									},
									File:   "cumulative_sum_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   64,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   65,
								},
								File:   "cumulative_sum_test.flux",
								Source: "table\n    |> range(start: 2018-05-20T00:00:00Z)",
								Start: ast.Position{
									Column: 34,
									Line:   64,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   65,
										},
										File:   "cumulative_sum_test.flux",
										Source: "start: 2018-05-20T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   65,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   65,
											},
											File:   "cumulative_sum_test.flux",
											Source: "start: 2018-05-20T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   65,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   65,
												},
												File:   "cumulative_sum_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   65,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   65,
												},
												File:   "cumulative_sum_test.flux",
												Source: "2018-05-20T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   65,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-20T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   65,
									},
									File:   "cumulative_sum_test.flux",
									Source: "range(start: 2018-05-20T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   65,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   65,
										},
										File:   "cumulative_sum_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   65,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 44,
								Line:   66,
							},
							File:   "cumulative_sum_test.flux",
							Source: "table\n    |> range(start: 2018-05-20T00:00:00Z)\n    |> cumulativeSum(columns: [\"v0\", \"v1\"])",
							Start: ast.Position{
								Column: 34,
								Line:   64,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   66,
									},
									File:   "cumulative_sum_test.flux",
									Source: "columns: [\"v0\", \"v1\"]",
									Start: ast.Position{
										Column: 22,
										Line:   66,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 43,
											Line:   66,
										},
										File:   "cumulative_sum_test.flux",
										Source: "columns: [\"v0\", \"v1\"]",
										Start: ast.Position{
											Column: 22,
											Line:   66,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   66,
											},
											File:   "cumulative_sum_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 22,
												Line:   66,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   66,
											},
											File:   "cumulative_sum_test.flux",
											Source: "[\"v0\", \"v1\"]",
											Start: ast.Position{
												Column: 31,
												Line:   66,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   66,
												},
												File:   "cumulative_sum_test.flux",
												Source: "\"v0\"",
												Start: ast.Position{
													Column: 32,
													Line:   66,
												},
											},
										},
										Value: "v0",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   66,
												},
												File:   "cumulative_sum_test.flux",
												Source: "\"v1\"",
												Start: ast.Position{
													Column: 38,
													Line:   66,
												},
											},
										},
										Value: "v1",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 44,
									Line:   66,
								},
								File:   "cumulative_sum_test.flux",
								Source: "cumulativeSum(columns: [\"v0\", \"v1\"])",
								Start: ast.Position{
									Column: 8,
									Line:   66,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   66,
									},
									File:   "cumulative_sum_test.flux",
									Source: "cumulativeSum",
									Start: ast.Position{
										Column: 8,
										Line:   66,
									},
								},
							},
							Name: "cumulativeSum",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   64,
							},
							File:   "cumulative_sum_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   64,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   64,
								},
								File:   "cumulative_sum_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   64,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   64,
							},
							File:   "cumulative_sum_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   64,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   68,
						},
						File:   "cumulative_sum_test.flux",
						Source: "_cumulative_sum = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum})",
						Start: ast.Position{
							Column: 6,
							Line:   68,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   68,
							},
							File:   "cumulative_sum_test.flux",
							Source: "_cumulative_sum",
							Start: ast.Position{
								Column: 6,
								Line:   68,
							},
						},
					},
					Name: "_cumulative_sum",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   68,
							},
							File:   "cumulative_sum_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum})",
							Start: ast.Position{
								Column: 24,
								Line:   68,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   68,
								},
								File:   "cumulative_sum_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum})",
								Start: ast.Position{
									Column: 30,
									Line:   68,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   68,
									},
									File:   "cumulative_sum_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum}",
									Start: ast.Position{
										Column: 31,
										Line:   68,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   68,
										},
										File:   "cumulative_sum_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   68,
											},
											File:   "cumulative_sum_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   68,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   68,
												},
												File:   "cumulative_sum_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   68,
													},
													File:   "cumulative_sum_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   68,
														},
														File:   "cumulative_sum_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   68,
														},
														File:   "cumulative_sum_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   68,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   68,
											},
											File:   "cumulative_sum_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   68,
												},
												File:   "cumulative_sum_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   68,
													},
													File:   "cumulative_sum_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   68,
													},
													File:   "cumulative_sum_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   68,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   68,
										},
										File:   "cumulative_sum_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   68,
											},
											File:   "cumulative_sum_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   68,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   68,
												},
												File:   "cumulative_sum_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   68,
													},
													File:   "cumulative_sum_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   68,
														},
														File:   "cumulative_sum_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   68,
														},
														File:   "cumulative_sum_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   68,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   68,
											},
											File:   "cumulative_sum_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   68,
												},
												File:   "cumulative_sum_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   68,
													},
													File:   "cumulative_sum_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   68,
													},
													File:   "cumulative_sum_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   68,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   68,
										},
										File:   "cumulative_sum_test.flux",
										Source: "fn: t_cumulative_sum",
										Start: ast.Position{
											Column: 110,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   68,
											},
											File:   "cumulative_sum_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   68,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   68,
											},
											File:   "cumulative_sum_test.flux",
											Source: "t_cumulative_sum",
											Start: ast.Position{
												Column: 114,
												Line:   68,
											},
										},
									},
									Name: "t_cumulative_sum",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   68,
					},
					File:   "cumulative_sum_test.flux",
					Source: "test _cumulative_sum = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_cumulative_sum})",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "cumulative_sum_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "cumulative_sum_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "cumulative_sum_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "cumulative_sum_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "cumulative_sum_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 146,
					Line:   41,
				},
				File:   "derivative_nonnegative_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,10,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:26Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:36Z,20,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:46Z,7,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:56Z,10,usage_guest_nice,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0.02,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.08,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:26Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:36Z,0.16,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:46Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:56Z,0.03,usage_guest_nice,cpu,cpu-total,host.local\n\"\nderivative_nonnegative = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> derivative(unit: 100ms, nonNegative: true)\n\ntest _derivative_nonnegative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: derivative_nonnegative})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "derivative_nonnegative_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "derivative_nonnegative_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "derivative_nonnegative_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "derivative_nonnegative_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   22,
					},
					File:   "derivative_nonnegative_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,10,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:26Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:36Z,20,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:46Z,7,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:56Z,10,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   22,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,10,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:26Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:36Z,20,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:46Z,7,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:56Z,10,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,10,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:26Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:36Z,20,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:46Z,7,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:56Z,10,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   36,
					},
					File:   "derivative_nonnegative_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0.02,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.08,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:26Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:36Z,0.16,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:46Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:56Z,0.03,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   23,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   23,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   23,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   36,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0.02,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.08,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:26Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:36Z,0.16,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:46Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:56Z,0.03,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   23,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0.02,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.08,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:26Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:36Z,0.16,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:46Z,,usage_guest_nice,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:56Z,0.03,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 50,
						Line:   39,
					},
					File:   "derivative_nonnegative_test.flux",
					Source: "derivative_nonnegative = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> derivative(unit: 100ms, nonNegative: true)",
					Start: ast.Position{
						Column: 1,
						Line:   37,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 23,
							Line:   37,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "derivative_nonnegative",
						Start: ast.Position{
							Column: 1,
							Line:   37,
						},
					},
				},
				Name: "derivative_nonnegative",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 50,
							Line:   39,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> derivative(unit: 100ms, nonNegative: true)",
						Start: ast.Position{
							Column: 26,
							Line:   37,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   37,
									},
									File:   "derivative_nonnegative_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 40,
										Line:   37,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   38,
								},
								File:   "derivative_nonnegative_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 40,
									Line:   37,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   38,
										},
										File:   "derivative_nonnegative_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   38,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   38,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   38,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   38,
												},
												File:   "derivative_nonnegative_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   38,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   38,
												},
												File:   "derivative_nonnegative_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   38,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   38,
									},
									File:   "derivative_nonnegative_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   38,
										},
										File:   "derivative_nonnegative_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   38,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 50,
								Line:   39,
							},
							File:   "derivative_nonnegative_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> derivative(unit: 100ms, nonNegative: true)",
							Start: ast.Position{
								Column: 40,
								Line:   37,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 49,
										Line:   39,
									},
									File:   "derivative_nonnegative_test.flux",
									Source: "unit: 100ms, nonNegative: true",
									Start: ast.Position{
										Column: 19,
										Line:   39,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 30,
											Line:   39,
										},
										File:   "derivative_nonnegative_test.flux",
										Source: "unit: 100ms",
										Start: ast.Position{
											Column: 19,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   39,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "unit",
											Start: ast.Position{
												Column: 19,
												Line:   39,
											},
										},
									},
									Name: "unit",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   39,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "100ms",
											Start: ast.Position{
												Column: 25,
												Line:   39,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(100),
										Unit:      "ms",
									}},
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   39,
										},
										File:   "derivative_nonnegative_test.flux",
										Source: "nonNegative: true",
										Start: ast.Position{
											Column: 32,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   39,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "nonNegative",
											Start: ast.Position{
												Column: 32,
												Line:   39,
											},
										},
									},
									Name: "nonNegative",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   39,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "true",
											Start: ast.Position{
												Column: 45,
												Line:   39,
											},
										},
									},
									Name: "true",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 50,
									Line:   39,
								},
								File:   "derivative_nonnegative_test.flux",
								Source: "derivative(unit: 100ms, nonNegative: true)",
								Start: ast.Position{
									Column: 8,
									Line:   39,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   39,
									},
									File:   "derivative_nonnegative_test.flux",
									Source: "derivative",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Name: "derivative",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   37,
							},
							File:   "derivative_nonnegative_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 27,
								Line:   37,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 32,
									Line:   37,
								},
								File:   "derivative_nonnegative_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 27,
									Line:   37,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   37,
							},
							File:   "derivative_nonnegative_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 33,
								Line:   37,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 146,
							Line:   41,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "_derivative_nonnegative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: derivative_nonnegative})",
						Start: ast.Position{
							Column: 6,
							Line:   41,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   41,
							},
							File:   "derivative_nonnegative_test.flux",
							Source: "_derivative_nonnegative",
							Start: ast.Position{
								Column: 6,
								Line:   41,
							},
						},
					},
					Name: "_derivative_nonnegative",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 146,
								Line:   41,
							},
							File:   "derivative_nonnegative_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: derivative_nonnegative})",
							Start: ast.Position{
								Column: 32,
								Line:   41,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 146,
									Line:   41,
								},
								File:   "derivative_nonnegative_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: derivative_nonnegative})",
								Start: ast.Position{
									Column: 38,
									Line:   41,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 145,
										Line:   41,
									},
									File:   "derivative_nonnegative_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: derivative_nonnegative}",
									Start: ast.Position{
										Column: 39,
										Line:   41,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 79,
											Line:   41,
										},
										File:   "derivative_nonnegative_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 40,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   41,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 40,
												Line:   41,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   41,
												},
												File:   "derivative_nonnegative_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 67,
													Line:   41,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   41,
													},
													File:   "derivative_nonnegative_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 67,
														Line:   41,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   41,
														},
														File:   "derivative_nonnegative_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 67,
															Line:   41,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 78,
															Line:   41,
														},
														File:   "derivative_nonnegative_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 72,
															Line:   41,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   41,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 47,
												Line:   41,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   41,
												},
												File:   "derivative_nonnegative_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 47,
													Line:   41,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   41,
													},
													File:   "derivative_nonnegative_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 47,
														Line:   41,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   41,
													},
													File:   "derivative_nonnegative_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 55,
														Line:   41,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   41,
										},
										File:   "derivative_nonnegative_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 81,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 85,
												Line:   41,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 81,
												Line:   41,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 115,
													Line:   41,
												},
												File:   "derivative_nonnegative_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 103,
													Line:   41,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 115,
														Line:   41,
													},
													File:   "derivative_nonnegative_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 103,
														Line:   41,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   41,
														},
														File:   "derivative_nonnegative_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 103,
															Line:   41,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 115,
															Line:   41,
														},
														File:   "derivative_nonnegative_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 108,
															Line:   41,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   41,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 87,
												Line:   41,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   41,
												},
												File:   "derivative_nonnegative_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 87,
													Line:   41,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   41,
													},
													File:   "derivative_nonnegative_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 87,
														Line:   41,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   41,
													},
													File:   "derivative_nonnegative_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 95,
														Line:   41,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 144,
											Line:   41,
										},
										File:   "derivative_nonnegative_test.flux",
										Source: "fn: derivative_nonnegative",
										Start: ast.Position{
											Column: 118,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   41,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 118,
												Line:   41,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 144,
												Line:   41,
											},
											File:   "derivative_nonnegative_test.flux",
											Source: "derivative_nonnegative",
											Start: ast.Position{
												Column: 122,
												Line:   41,
											},
										},
									},
									Name: "derivative_nonnegative",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 146,
						Line:   41,
					},
					File:   "derivative_nonnegative_test.flux",
					Source: "test _derivative_nonnegative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: derivative_nonnegative})",
					Start: ast.Position{
						Column: 1,
						Line:   41,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "derivative_nonnegative_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "derivative_nonnegative_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "derivative_nonnegative_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "derivative_nonnegative_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   35,
				},
				File:   "derivative_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,true,true,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,true,true,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0.00000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0.0000009788290896750597,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,-0.000004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0.0000021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\r\n\"\nt_derivative = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)\n    |> derivative(unit: 100ms)\n\ntest _derivative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_derivative})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "derivative_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "derivative_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "derivative_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "derivative_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "derivative_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "derivative_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,true,true,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "derivative_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "derivative_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,true,true,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,true,true,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,96,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   30,
					},
					File:   "derivative_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,true,true,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0.00000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0.0000009788290896750597,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,-0.000004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0.0000021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "derivative_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   30,
						},
						File:   "derivative_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,true,true,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0.00000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0.0000009788290896750597,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,-0.000004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0.0000021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,true,true,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,,,\r\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,0.00000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:46Z,0.0000009788290896750597,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,-0.000004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,0.0000021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 31,
						Line:   33,
					},
					File:   "derivative_test.flux",
					Source: "t_derivative = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)\n    |> derivative(unit: 100ms)",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   31,
						},
						File:   "derivative_test.flux",
						Source: "t_derivative",
						Start: ast.Position{
							Column: 1,
							Line:   31,
						},
					},
				},
				Name: "t_derivative",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 31,
							Line:   33,
						},
						File:   "derivative_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)\n    |> derivative(unit: 100ms)",
						Start: ast.Position{
							Column: 16,
							Line:   31,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   31,
									},
									File:   "derivative_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   31,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 52,
									Line:   32,
								},
								File:   "derivative_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)",
								Start: ast.Position{
									Column: 30,
									Line:   31,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 51,
											Line:   32,
										},
										File:   "derivative_test.flux",
										Source: "start: 2018-05-22T19:53:24.421470485Z",
										Start: ast.Position{
											Column: 14,
											Line:   32,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   32,
											},
											File:   "derivative_test.flux",
											Source: "start: 2018-05-22T19:53:24.421470485Z",
											Start: ast.Position{
												Column: 14,
												Line:   32,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   32,
												},
												File:   "derivative_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   32,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   32,
												},
												File:   "derivative_test.flux",
												Source: "2018-05-22T19:53:24.421470485Z",
												Start: ast.Position{
													Column: 21,
													Line:   32,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:24.421470485Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 52,
										Line:   32,
									},
									File:   "derivative_test.flux",
									Source: "range(start: 2018-05-22T19:53:24.421470485Z)",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   32,
										},
										File:   "derivative_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   32,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   33,
							},
							File:   "derivative_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)\n    |> derivative(unit: 100ms)",
							Start: ast.Position{
								Column: 30,
								Line:   31,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   33,
									},
									File:   "derivative_test.flux",
									Source: "unit: 100ms",
									Start: ast.Position{
										Column: 19,
										Line:   33,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 30,
											Line:   33,
										},
										File:   "derivative_test.flux",
										Source: "unit: 100ms",
										Start: ast.Position{
											Column: 19,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   33,
											},
											File:   "derivative_test.flux",
											Source: "unit",
											Start: ast.Position{
												Column: 19,
												Line:   33,
											},
										},
									},
									Name: "unit",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   33,
											},
											File:   "derivative_test.flux",
											Source: "100ms",
											Start: ast.Position{
												Column: 25,
												Line:   33,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(100),
										Unit:      "ms",
									}},
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 31,
									Line:   33,
								},
								File:   "derivative_test.flux",
								Source: "derivative(unit: 100ms)",
								Start: ast.Position{
									Column: 8,
									Line:   33,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   33,
									},
									File:   "derivative_test.flux",
									Source: "derivative",
									Start: ast.Position{
										Column: 8,
										Line:   33,
									},
								},
							},
							Name: "derivative",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   31,
							},
							File:   "derivative_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   31,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   31,
								},
								File:   "derivative_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   31,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   31,
							},
							File:   "derivative_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   31,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   35,
						},
						File:   "derivative_test.flux",
						Source: "_derivative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_derivative})",
						Start: ast.Position{
							Column: 6,
							Line:   35,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   35,
							},
							File:   "derivative_test.flux",
							Source: "_derivative",
							Start: ast.Position{
								Column: 6,
								Line:   35,
							},
						},
					},
					Name: "_derivative",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   35,
							},
							File:   "derivative_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_derivative})",
							Start: ast.Position{
								Column: 20,
								Line:   35,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   35,
								},
								File:   "derivative_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_derivative})",
								Start: ast.Position{
									Column: 26,
									Line:   35,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   35,
									},
									File:   "derivative_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_derivative}",
									Start: ast.Position{
										Column: 27,
										Line:   35,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   35,
										},
										File:   "derivative_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   35,
											},
											File:   "derivative_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   35,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   35,
												},
												File:   "derivative_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   35,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   35,
													},
													File:   "derivative_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   35,
														},
														File:   "derivative_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   35,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   35,
														},
														File:   "derivative_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   35,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   35,
											},
											File:   "derivative_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   35,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   35,
												},
												File:   "derivative_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   35,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   35,
													},
													File:   "derivative_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   35,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   35,
													},
													File:   "derivative_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   35,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   35,
										},
										File:   "derivative_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   35,
											},
											File:   "derivative_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   35,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   35,
												},
												File:   "derivative_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   35,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   35,
													},
													File:   "derivative_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   35,
														},
														File:   "derivative_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   35,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   35,
														},
														File:   "derivative_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   35,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   35,
											},
											File:   "derivative_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   35,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   35,
												},
												File:   "derivative_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   35,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   35,
													},
													File:   "derivative_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   35,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   35,
													},
													File:   "derivative_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   35,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   35,
										},
										File:   "derivative_test.flux",
										Source: "fn: t_derivative",
										Start: ast.Position{
											Column: 106,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   35,
											},
											File:   "derivative_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   35,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   35,
											},
											File:   "derivative_test.flux",
											Source: "t_derivative",
											Start: ast.Position{
												Column: 110,
												Line:   35,
											},
										},
									},
									Name: "t_derivative",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   35,
					},
					File:   "derivative_test.flux",
					Source: "test _derivative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_derivative})",
					Start: ast.Position{
						Column: 1,
						Line:   35,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "derivative_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "derivative_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "derivative_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "derivative_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "derivative_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   46,
				},
				File:   "difference_columns_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,double,double\n#group,false,false,false,false,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,x,y\n,,0,2018-05-22T19:53:26Z,34.98234271799806,f,m1,1,2\n,,0,2018-05-22T19:53:36Z,34.98234941084654,f,m1,2,4\n,,0,2018-05-22T19:53:46Z,34.982447293755506,f,m1,5,4\n,,0,2018-05-22T19:53:56Z,34.982447293755506,f,m1,12,80\n,,0,2018-05-22T19:54:06Z,34.98204153981662,f,m1,11,0\n,,0,2018-05-22T19:54:16Z,34.982252364543626,f,m1,33,42\n,,1,2018-05-22T19:53:26Z,34.98234271799806,f,m2,1,2\n,,1,2018-05-22T19:53:36Z,34.98234941084654,f,m2,2,4\n,,1,2018-05-22T19:53:46Z,34.982447293755506,f,m2,5,4\n,,1,2018-05-22T19:53:56Z,34.982447293755506,f,m2,12,80\n,,1,2018-05-22T19:54:06Z,34.98204153981662,f,m2,11,0\n,,1,2018-05-22T19:54:16Z,34.982252364543626,f,m2,33,42\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,double,double\n#group,false,false,true,true,false,false,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,x,y\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,f,m1,1,2\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,f,m1,3,0\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,f,m1,7,76\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,f,m1,-1,-80\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,f,m1,22,42\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,f,m2,1,2\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,f,m2,3,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,f,m2,7,76\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,f,m2,-1,-80\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,f,m2,22,42\n\"\nt_difference = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(columns: [\"x\", \"y\"])\n\ntest _difference_columns = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "difference_columns_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "difference_columns_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "difference_columns_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "difference_columns_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "difference_columns_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "difference_columns_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,double,double\n#group,false,false,false,false,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,x,y\n,,0,2018-05-22T19:53:26Z,34.98234271799806,f,m1,1,2\n,,0,2018-05-22T19:53:36Z,34.98234941084654,f,m1,2,4\n,,0,2018-05-22T19:53:46Z,34.982447293755506,f,m1,5,4\n,,0,2018-05-22T19:53:56Z,34.982447293755506,f,m1,12,80\n,,0,2018-05-22T19:54:06Z,34.98204153981662,f,m1,11,0\n,,0,2018-05-22T19:54:16Z,34.982252364543626,f,m1,33,42\n,,1,2018-05-22T19:53:26Z,34.98234271799806,f,m2,1,2\n,,1,2018-05-22T19:53:36Z,34.98234941084654,f,m2,2,4\n,,1,2018-05-22T19:53:46Z,34.982447293755506,f,m2,5,4\n,,1,2018-05-22T19:53:56Z,34.982447293755506,f,m2,12,80\n,,1,2018-05-22T19:54:06Z,34.98204153981662,f,m2,11,0\n,,1,2018-05-22T19:54:16Z,34.982252364543626,f,m2,33,42\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "difference_columns_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "difference_columns_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,double,double\n#group,false,false,false,false,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,x,y\n,,0,2018-05-22T19:53:26Z,34.98234271799806,f,m1,1,2\n,,0,2018-05-22T19:53:36Z,34.98234941084654,f,m1,2,4\n,,0,2018-05-22T19:53:46Z,34.982447293755506,f,m1,5,4\n,,0,2018-05-22T19:53:56Z,34.982447293755506,f,m1,12,80\n,,0,2018-05-22T19:54:06Z,34.98204153981662,f,m1,11,0\n,,0,2018-05-22T19:54:16Z,34.982252364543626,f,m1,33,42\n,,1,2018-05-22T19:53:26Z,34.98234271799806,f,m2,1,2\n,,1,2018-05-22T19:53:36Z,34.98234941084654,f,m2,2,4\n,,1,2018-05-22T19:53:46Z,34.982447293755506,f,m2,5,4\n,,1,2018-05-22T19:53:56Z,34.982447293755506,f,m2,12,80\n,,1,2018-05-22T19:54:06Z,34.98204153981662,f,m2,11,0\n,,1,2018-05-22T19:54:16Z,34.982252364543626,f,m2,33,42\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,double,double\n#group,false,false,false,false,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,x,y\n,,0,2018-05-22T19:53:26Z,34.98234271799806,f,m1,1,2\n,,0,2018-05-22T19:53:36Z,34.98234941084654,f,m1,2,4\n,,0,2018-05-22T19:53:46Z,34.982447293755506,f,m1,5,4\n,,0,2018-05-22T19:53:56Z,34.982447293755506,f,m1,12,80\n,,0,2018-05-22T19:54:06Z,34.98204153981662,f,m1,11,0\n,,0,2018-05-22T19:54:16Z,34.982252364543626,f,m1,33,42\n,,1,2018-05-22T19:53:26Z,34.98234271799806,f,m2,1,2\n,,1,2018-05-22T19:53:36Z,34.98234941084654,f,m2,2,4\n,,1,2018-05-22T19:53:46Z,34.982447293755506,f,m2,5,4\n,,1,2018-05-22T19:53:56Z,34.982447293755506,f,m2,12,80\n,,1,2018-05-22T19:54:06Z,34.98204153981662,f,m2,11,0\n,,1,2018-05-22T19:54:16Z,34.982252364543626,f,m2,33,42\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "difference_columns_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,double,double\n#group,false,false,true,true,false,false,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,x,y\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,f,m1,1,2\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,f,m1,3,0\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,f,m1,7,76\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,f,m1,-1,-80\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,f,m1,22,42\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,f,m2,1,2\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,f,m2,3,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,f,m2,7,76\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,f,m2,-1,-80\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,f,m2,22,42\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "difference_columns_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "difference_columns_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,double,double\n#group,false,false,true,true,false,false,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,x,y\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,f,m1,1,2\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,f,m1,3,0\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,f,m1,7,76\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,f,m1,-1,-80\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,f,m1,22,42\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,f,m2,1,2\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,f,m2,3,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,f,m2,7,76\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,f,m2,-1,-80\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,f,m2,22,42\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,double,double\n#group,false,false,true,true,false,false,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,x,y\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,f,m1,1,2\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,f,m1,3,0\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,f,m1,7,76\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,f,m1,-1,-80\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,f,m1,22,42\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,f,m2,1,2\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,f,m2,3,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,f,m2,7,76\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,f,m2,-1,-80\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,f,m2,22,42\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 39,
						Line:   44,
					},
					File:   "difference_columns_test.flux",
					Source: "t_difference = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(columns: [\"x\", \"y\"])",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   42,
						},
						File:   "difference_columns_test.flux",
						Source: "t_difference",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "t_difference",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 39,
							Line:   44,
						},
						File:   "difference_columns_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(columns: [\"x\", \"y\"])",
						Start: ast.Position{
							Column: 16,
							Line:   42,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   42,
									},
									File:   "difference_columns_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   42,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   43,
								},
								File:   "difference_columns_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 30,
									Line:   42,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   43,
										},
										File:   "difference_columns_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   43,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   43,
											},
											File:   "difference_columns_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   43,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   43,
												},
												File:   "difference_columns_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   43,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   43,
												},
												File:   "difference_columns_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   43,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   43,
									},
									File:   "difference_columns_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   43,
										},
										File:   "difference_columns_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   43,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   44,
							},
							File:   "difference_columns_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(columns: [\"x\", \"y\"])",
							Start: ast.Position{
								Column: 30,
								Line:   42,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   44,
									},
									File:   "difference_columns_test.flux",
									Source: "columns: [\"x\", \"y\"]",
									Start: ast.Position{
										Column: 19,
										Line:   44,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   44,
										},
										File:   "difference_columns_test.flux",
										Source: "columns: [\"x\", \"y\"]",
										Start: ast.Position{
											Column: 19,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   44,
											},
											File:   "difference_columns_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 19,
												Line:   44,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   44,
											},
											File:   "difference_columns_test.flux",
											Source: "[\"x\", \"y\"]",
											Start: ast.Position{
												Column: 28,
												Line:   44,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   44,
												},
												File:   "difference_columns_test.flux",
												Source: "\"x\"",
												Start: ast.Position{
													Column: 29,
													Line:   44,
												},
											},
										},
										Value: "x",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   44,
												},
												File:   "difference_columns_test.flux",
												Source: "\"y\"",
												Start: ast.Position{
													Column: 34,
													Line:   44,
												},
											},
										},
										Value: "y",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   44,
								},
								File:   "difference_columns_test.flux",
								Source: "difference(columns: [\"x\", \"y\"])",
								Start: ast.Position{
									Column: 8,
									Line:   44,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   44,
									},
									File:   "difference_columns_test.flux",
									Source: "difference",
									Start: ast.Position{
										Column: 8,
										Line:   44,
									},
								},
							},
							Name: "difference",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   42,
							},
							File:   "difference_columns_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   42,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   42,
								},
								File:   "difference_columns_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   42,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   42,
							},
							File:   "difference_columns_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   42,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   46,
						},
						File:   "difference_columns_test.flux",
						Source: "_difference_columns = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
						Start: ast.Position{
							Column: 6,
							Line:   46,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   46,
							},
							File:   "difference_columns_test.flux",
							Source: "_difference_columns",
							Start: ast.Position{
								Column: 6,
								Line:   46,
							},
						},
					},
					Name: "_difference_columns",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   46,
							},
							File:   "difference_columns_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
							Start: ast.Position{
								Column: 28,
								Line:   46,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   46,
								},
								File:   "difference_columns_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
								Start: ast.Position{
									Column: 34,
									Line:   46,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   46,
									},
									File:   "difference_columns_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference}",
									Start: ast.Position{
										Column: 35,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   46,
										},
										File:   "difference_columns_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 36,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   46,
											},
											File:   "difference_columns_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 36,
												Line:   46,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   46,
												},
												File:   "difference_columns_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 63,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   46,
													},
													File:   "difference_columns_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 63,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   46,
														},
														File:   "difference_columns_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 63,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   46,
														},
														File:   "difference_columns_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 68,
															Line:   46,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   46,
											},
											File:   "difference_columns_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 43,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   46,
												},
												File:   "difference_columns_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 43,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   46,
													},
													File:   "difference_columns_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 43,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   46,
													},
													File:   "difference_columns_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 51,
														Line:   46,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   46,
										},
										File:   "difference_columns_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 77,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   46,
											},
											File:   "difference_columns_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 77,
												Line:   46,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   46,
												},
												File:   "difference_columns_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 99,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   46,
													},
													File:   "difference_columns_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 99,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   46,
														},
														File:   "difference_columns_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 99,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   46,
														},
														File:   "difference_columns_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 104,
															Line:   46,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   46,
											},
											File:   "difference_columns_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 83,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   46,
												},
												File:   "difference_columns_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 83,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   46,
													},
													File:   "difference_columns_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 83,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   46,
													},
													File:   "difference_columns_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 91,
														Line:   46,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   46,
										},
										File:   "difference_columns_test.flux",
										Source: "fn: t_difference",
										Start: ast.Position{
											Column: 114,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   46,
											},
											File:   "difference_columns_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   46,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   46,
											},
											File:   "difference_columns_test.flux",
											Source: "t_difference",
											Start: ast.Position{
												Column: 118,
												Line:   46,
											},
										},
									},
									Name: "t_difference",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   46,
					},
					File:   "difference_columns_test.flux",
					Source: "test _difference_columns = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "difference_columns_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "difference_columns_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "difference_columns_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "difference_columns_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "difference_columns_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   48,
				},
				File:   "difference_keepfirst_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n\"\nt_difference = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(keepFirst: true)\n\ntest _difference = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "difference_keepfirst_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "difference_keepfirst_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "difference_keepfirst_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "difference_keepfirst_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "difference_keepfirst_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "difference_keepfirst_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 35,
						Line:   46,
					},
					File:   "difference_keepfirst_test.flux",
					Source: "t_difference = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(keepFirst: true)",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   44,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "t_difference",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_difference",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 35,
							Line:   46,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(keepFirst: true)",
						Start: ast.Position{
							Column: 16,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   44,
									},
									File:   "difference_keepfirst_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "difference_keepfirst_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 30,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "difference_keepfirst_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "difference_keepfirst_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "difference_keepfirst_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "difference_keepfirst_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "difference_keepfirst_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "difference_keepfirst_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   46,
							},
							File:   "difference_keepfirst_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(keepFirst: true)",
							Start: ast.Position{
								Column: 30,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   46,
									},
									File:   "difference_keepfirst_test.flux",
									Source: "keepFirst: true",
									Start: ast.Position{
										Column: 19,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 34,
											Line:   46,
										},
										File:   "difference_keepfirst_test.flux",
										Source: "keepFirst: true",
										Start: ast.Position{
											Column: 19,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   46,
											},
											File:   "difference_keepfirst_test.flux",
											Source: "keepFirst",
											Start: ast.Position{
												Column: 19,
												Line:   46,
											},
										},
									},
									Name: "keepFirst",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   46,
											},
											File:   "difference_keepfirst_test.flux",
											Source: "true",
											Start: ast.Position{
												Column: 30,
												Line:   46,
											},
										},
									},
									Name: "true",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 35,
									Line:   46,
								},
								File:   "difference_keepfirst_test.flux",
								Source: "difference(keepFirst: true)",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   46,
									},
									File:   "difference_keepfirst_test.flux",
									Source: "difference",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "difference",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   44,
							},
							File:   "difference_keepfirst_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   44,
								},
								File:   "difference_keepfirst_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   44,
							},
							File:   "difference_keepfirst_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   48,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "_difference = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   48,
							},
							File:   "difference_keepfirst_test.flux",
							Source: "_difference",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_difference",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   48,
							},
							File:   "difference_keepfirst_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
							Start: ast.Position{
								Column: 20,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   48,
								},
								File:   "difference_keepfirst_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
								Start: ast.Position{
									Column: 26,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   48,
									},
									File:   "difference_keepfirst_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference}",
									Start: ast.Position{
										Column: 27,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   48,
										},
										File:   "difference_keepfirst_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   48,
											},
											File:   "difference_keepfirst_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   48,
												},
												File:   "difference_keepfirst_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   48,
													},
													File:   "difference_keepfirst_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   48,
														},
														File:   "difference_keepfirst_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   48,
														},
														File:   "difference_keepfirst_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   48,
											},
											File:   "difference_keepfirst_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   48,
												},
												File:   "difference_keepfirst_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   48,
													},
													File:   "difference_keepfirst_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   48,
													},
													File:   "difference_keepfirst_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   48,
										},
										File:   "difference_keepfirst_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   48,
											},
											File:   "difference_keepfirst_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   48,
												},
												File:   "difference_keepfirst_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   48,
													},
													File:   "difference_keepfirst_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   48,
														},
														File:   "difference_keepfirst_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   48,
														},
														File:   "difference_keepfirst_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   48,
											},
											File:   "difference_keepfirst_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   48,
												},
												File:   "difference_keepfirst_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   48,
													},
													File:   "difference_keepfirst_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   48,
													},
													File:   "difference_keepfirst_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   48,
										},
										File:   "difference_keepfirst_test.flux",
										Source: "fn: t_difference",
										Start: ast.Position{
											Column: 106,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   48,
											},
											File:   "difference_keepfirst_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   48,
											},
											File:   "difference_keepfirst_test.flux",
											Source: "t_difference",
											Start: ast.Position{
												Column: 110,
												Line:   48,
											},
										},
									},
									Name: "t_difference",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   48,
					},
					File:   "difference_keepfirst_test.flux",
					Source: "test _difference = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "difference_keepfirst_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "difference_keepfirst_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "difference_keepfirst_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "difference_keepfirst_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 136,
					Line:   46,
				},
				File:   "difference_nonnegative_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n\"\nt_difference = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(nonNegative: true)\n\ntest _difference_nonnegative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "difference_nonnegative_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "difference_nonnegative_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "difference_nonnegative_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "difference_nonnegative_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "difference_nonnegative_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "difference_nonnegative_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 37,
						Line:   44,
					},
					File:   "difference_nonnegative_test.flux",
					Source: "t_difference = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(nonNegative: true)",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   42,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "t_difference",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "t_difference",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 37,
							Line:   44,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(nonNegative: true)",
						Start: ast.Position{
							Column: 16,
							Line:   42,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   42,
									},
									File:   "difference_nonnegative_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   42,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   43,
								},
								File:   "difference_nonnegative_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 30,
									Line:   42,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   43,
										},
										File:   "difference_nonnegative_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   43,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   43,
											},
											File:   "difference_nonnegative_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   43,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   43,
												},
												File:   "difference_nonnegative_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   43,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   43,
												},
												File:   "difference_nonnegative_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   43,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   43,
									},
									File:   "difference_nonnegative_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   43,
										},
										File:   "difference_nonnegative_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   43,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 37,
								Line:   44,
							},
							File:   "difference_nonnegative_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(nonNegative: true)",
							Start: ast.Position{
								Column: 30,
								Line:   42,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 36,
										Line:   44,
									},
									File:   "difference_nonnegative_test.flux",
									Source: "nonNegative: true",
									Start: ast.Position{
										Column: 19,
										Line:   44,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   44,
										},
										File:   "difference_nonnegative_test.flux",
										Source: "nonNegative: true",
										Start: ast.Position{
											Column: 19,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   44,
											},
											File:   "difference_nonnegative_test.flux",
											Source: "nonNegative",
											Start: ast.Position{
												Column: 19,
												Line:   44,
											},
										},
									},
									Name: "nonNegative",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   44,
											},
											File:   "difference_nonnegative_test.flux",
											Source: "true",
											Start: ast.Position{
												Column: 32,
												Line:   44,
											},
										},
									},
									Name: "true",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   44,
								},
								File:   "difference_nonnegative_test.flux",
								Source: "difference(nonNegative: true)",
								Start: ast.Position{
									Column: 8,
									Line:   44,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   44,
									},
									File:   "difference_nonnegative_test.flux",
									Source: "difference",
									Start: ast.Position{
										Column: 8,
										Line:   44,
									},
								},
							},
							Name: "difference",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   42,
							},
							File:   "difference_nonnegative_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   42,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   42,
								},
								File:   "difference_nonnegative_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   42,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   42,
							},
							File:   "difference_nonnegative_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   42,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 136,
							Line:   46,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "_difference_nonnegative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
						Start: ast.Position{
							Column: 6,
							Line:   46,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   46,
							},
							File:   "difference_nonnegative_test.flux",
							Source: "_difference_nonnegative",
							Start: ast.Position{
								Column: 6,
								Line:   46,
							},
						},
					},
					Name: "_difference_nonnegative",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 136,
								Line:   46,
							},
							File:   "difference_nonnegative_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
							Start: ast.Position{
								Column: 32,
								Line:   46,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 136,
									Line:   46,
								},
								File:   "difference_nonnegative_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
								Start: ast.Position{
									Column: 38,
									Line:   46,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 135,
										Line:   46,
									},
									File:   "difference_nonnegative_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference}",
									Start: ast.Position{
										Column: 39,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 79,
											Line:   46,
										},
										File:   "difference_nonnegative_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 40,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   46,
											},
											File:   "difference_nonnegative_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 40,
												Line:   46,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   46,
												},
												File:   "difference_nonnegative_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 67,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   46,
													},
													File:   "difference_nonnegative_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 67,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   46,
														},
														File:   "difference_nonnegative_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 67,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 78,
															Line:   46,
														},
														File:   "difference_nonnegative_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 72,
															Line:   46,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   46,
											},
											File:   "difference_nonnegative_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 47,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   46,
												},
												File:   "difference_nonnegative_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 47,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   46,
													},
													File:   "difference_nonnegative_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 47,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   46,
													},
													File:   "difference_nonnegative_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 55,
														Line:   46,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   46,
										},
										File:   "difference_nonnegative_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 81,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 85,
												Line:   46,
											},
											File:   "difference_nonnegative_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 81,
												Line:   46,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 115,
													Line:   46,
												},
												File:   "difference_nonnegative_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 103,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 115,
														Line:   46,
													},
													File:   "difference_nonnegative_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 103,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   46,
														},
														File:   "difference_nonnegative_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 103,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 115,
															Line:   46,
														},
														File:   "difference_nonnegative_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 108,
															Line:   46,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   46,
											},
											File:   "difference_nonnegative_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 87,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   46,
												},
												File:   "difference_nonnegative_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 87,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   46,
													},
													File:   "difference_nonnegative_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 87,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   46,
													},
													File:   "difference_nonnegative_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 95,
														Line:   46,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 134,
											Line:   46,
										},
										File:   "difference_nonnegative_test.flux",
										Source: "fn: t_difference",
										Start: ast.Position{
											Column: 118,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   46,
											},
											File:   "difference_nonnegative_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 118,
												Line:   46,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 134,
												Line:   46,
											},
											File:   "difference_nonnegative_test.flux",
											Source: "t_difference",
											Start: ast.Position{
												Column: 122,
												Line:   46,
											},
										},
									},
									Name: "t_difference",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 136,
						Line:   46,
					},
					File:   "difference_nonnegative_test.flux",
					Source: "test _difference_nonnegative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "difference_nonnegative_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "difference_nonnegative_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "difference_nonnegative_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "difference_nonnegative_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 142,
					Line:   25,
				},
				File:   "difference_one_value_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"\ndifference_one_value = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(nonNegative: true)\n\ntest _difference_one_value = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: difference_one_value})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "difference_one_value_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "difference_one_value_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "difference_one_value_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "difference_one_value_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "difference_one_value_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   14,
					},
					File:   "difference_one_value_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "difference_one_value_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   14,
						},
						File:   "difference_one_value_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   20,
					},
					File:   "difference_one_value_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   15,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   15,
						},
						File:   "difference_one_value_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   15,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   20,
						},
						File:   "difference_one_value_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   15,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 37,
						Line:   23,
					},
					File:   "difference_one_value_test.flux",
					Source: "difference_one_value = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(nonNegative: true)",
					Start: ast.Position{
						Column: 1,
						Line:   21,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 21,
							Line:   21,
						},
						File:   "difference_one_value_test.flux",
						Source: "difference_one_value",
						Start: ast.Position{
							Column: 1,
							Line:   21,
						},
					},
				},
				Name: "difference_one_value",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 37,
							Line:   23,
						},
						File:   "difference_one_value_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(nonNegative: true)",
						Start: ast.Position{
							Column: 24,
							Line:   21,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   21,
									},
									File:   "difference_one_value_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 38,
										Line:   21,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   22,
								},
								File:   "difference_one_value_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 38,
									Line:   21,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   22,
										},
										File:   "difference_one_value_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   22,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   22,
											},
											File:   "difference_one_value_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   22,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   22,
												},
												File:   "difference_one_value_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   22,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   22,
												},
												File:   "difference_one_value_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   22,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   22,
									},
									File:   "difference_one_value_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   22,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   22,
										},
										File:   "difference_one_value_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   22,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 37,
								Line:   23,
							},
							File:   "difference_one_value_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference(nonNegative: true)",
							Start: ast.Position{
								Column: 38,
								Line:   21,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 36,
										Line:   23,
									},
									File:   "difference_one_value_test.flux",
									Source: "nonNegative: true",
									Start: ast.Position{
										Column: 19,
										Line:   23,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   23,
										},
										File:   "difference_one_value_test.flux",
										Source: "nonNegative: true",
										Start: ast.Position{
											Column: 19,
											Line:   23,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   23,
											},
											File:   "difference_one_value_test.flux",
											Source: "nonNegative",
											Start: ast.Position{
												Column: 19,
												Line:   23,
											},
										},
									},
									Name: "nonNegative",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   23,
											},
											File:   "difference_one_value_test.flux",
											Source: "true",
											Start: ast.Position{
												Column: 32,
												Line:   23,
											},
										},
									},
									Name: "true",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   23,
								},
								File:   "difference_one_value_test.flux",
								Source: "difference(nonNegative: true)",
								Start: ast.Position{
									Column: 8,
									Line:   23,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   23,
									},
									File:   "difference_one_value_test.flux",
									Source: "difference",
									Start: ast.Position{
										Column: 8,
										Line:   23,
									},
								},
							},
							Name: "difference",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   21,
							},
							File:   "difference_one_value_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 25,
								Line:   21,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   21,
								},
								File:   "difference_one_value_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 25,
									Line:   21,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   21,
							},
							File:   "difference_one_value_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 31,
								Line:   21,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 142,
							Line:   25,
						},
						File:   "difference_one_value_test.flux",
						Source: "_difference_one_value = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: difference_one_value})",
						Start: ast.Position{
							Column: 6,
							Line:   25,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   25,
							},
							File:   "difference_one_value_test.flux",
							Source: "_difference_one_value",
							Start: ast.Position{
								Column: 6,
								Line:   25,
							},
						},
					},
					Name: "_difference_one_value",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 142,
								Line:   25,
							},
							File:   "difference_one_value_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: difference_one_value})",
							Start: ast.Position{
								Column: 30,
								Line:   25,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 142,
									Line:   25,
								},
								File:   "difference_one_value_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: difference_one_value})",
								Start: ast.Position{
									Column: 36,
									Line:   25,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 141,
										Line:   25,
									},
									File:   "difference_one_value_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: difference_one_value}",
									Start: ast.Position{
										Column: 37,
										Line:   25,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 77,
											Line:   25,
										},
										File:   "difference_one_value_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 38,
											Line:   25,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   25,
											},
											File:   "difference_one_value_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 38,
												Line:   25,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 76,
													Line:   25,
												},
												File:   "difference_one_value_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 65,
													Line:   25,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   25,
													},
													File:   "difference_one_value_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 65,
														Line:   25,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   25,
														},
														File:   "difference_one_value_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 65,
															Line:   25,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 76,
															Line:   25,
														},
														File:   "difference_one_value_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 70,
															Line:   25,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   25,
											},
											File:   "difference_one_value_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 45,
												Line:   25,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   25,
												},
												File:   "difference_one_value_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 45,
													Line:   25,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   25,
													},
													File:   "difference_one_value_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 45,
														Line:   25,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 64,
														Line:   25,
													},
													File:   "difference_one_value_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 53,
														Line:   25,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   25,
										},
										File:   "difference_one_value_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 79,
											Line:   25,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   25,
											},
											File:   "difference_one_value_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 79,
												Line:   25,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 113,
													Line:   25,
												},
												File:   "difference_one_value_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 101,
													Line:   25,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 113,
														Line:   25,
													},
													File:   "difference_one_value_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 101,
														Line:   25,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 104,
															Line:   25,
														},
														File:   "difference_one_value_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 101,
															Line:   25,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 113,
															Line:   25,
														},
														File:   "difference_one_value_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 106,
															Line:   25,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   25,
											},
											File:   "difference_one_value_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 85,
												Line:   25,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 100,
													Line:   25,
												},
												File:   "difference_one_value_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 85,
													Line:   25,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   25,
													},
													File:   "difference_one_value_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 85,
														Line:   25,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 100,
														Line:   25,
													},
													File:   "difference_one_value_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 93,
														Line:   25,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 140,
											Line:   25,
										},
										File:   "difference_one_value_test.flux",
										Source: "fn: difference_one_value",
										Start: ast.Position{
											Column: 116,
											Line:   25,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   25,
											},
											File:   "difference_one_value_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 116,
												Line:   25,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 140,
												Line:   25,
											},
											File:   "difference_one_value_test.flux",
											Source: "difference_one_value",
											Start: ast.Position{
												Column: 120,
												Line:   25,
											},
										},
									},
									Name: "difference_one_value",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 142,
						Line:   25,
					},
					File:   "difference_one_value_test.flux",
					Source: "test _difference_one_value = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: difference_one_value})",
					Start: ast.Position{
						Column: 1,
						Line:   25,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "difference_one_value_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "difference_one_value_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "difference_one_value_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "difference_one_value_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "difference_one_value_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 136,
					Line:   37,
				},
				File:   "difference_panic_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,3,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,5,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,1,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,4,field1,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"\nt_difference_panic = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._field == \"no_exist\")\n    |> difference()\n\ntest _difference_panic = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference_panic})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "difference_panic_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "difference_panic_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "difference_panic_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "difference_panic_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "difference_panic_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   21,
					},
					File:   "difference_panic_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,3,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,5,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,1,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,4,field1,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "difference_panic_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   21,
						},
						File:   "difference_panic_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,3,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,5,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,1,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,4,field1,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,3,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,5,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,1,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,4,field1,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "difference_panic_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   22,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   22,
						},
						File:   "difference_panic_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   22,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "difference_panic_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   22,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 20,
						Line:   35,
					},
					File:   "difference_panic_test.flux",
					Source: "t_difference_panic = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._field == \"no_exist\")\n    |> difference()",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 19,
							Line:   32,
						},
						File:   "difference_panic_test.flux",
						Source: "t_difference_panic",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "t_difference_panic",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   35,
						},
						File:   "difference_panic_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._field == \"no_exist\")\n    |> difference()",
						Start: ast.Position{
							Column: 22,
							Line:   32,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   32,
										},
										File:   "difference_panic_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 36,
											Line:   32,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   33,
									},
									File:   "difference_panic_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 36,
										Line:   32,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   33,
											},
											File:   "difference_panic_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   33,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   33,
												},
												File:   "difference_panic_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   33,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   33,
													},
													File:   "difference_panic_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   33,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   33,
													},
													File:   "difference_panic_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   33,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   33,
										},
										File:   "difference_panic_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   33,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   33,
											},
											File:   "difference_panic_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   33,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   34,
								},
								File:   "difference_panic_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._field == \"no_exist\")",
								Start: ast.Position{
									Column: 36,
									Line:   32,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   34,
										},
										File:   "difference_panic_test.flux",
										Source: "fn: (r) => r._field == \"no_exist\"",
										Start: ast.Position{
											Column: 15,
											Line:   34,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   34,
											},
											File:   "difference_panic_test.flux",
											Source: "fn: (r) => r._field == \"no_exist\"",
											Start: ast.Position{
												Column: 15,
												Line:   34,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   34,
												},
												File:   "difference_panic_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   34,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   34,
												},
												File:   "difference_panic_test.flux",
												Source: "(r) => r._field == \"no_exist\"",
												Start: ast.Position{
													Column: 19,
													Line:   34,
												},
											},
										},
										Body: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   34,
													},
													File:   "difference_panic_test.flux",
													Source: "r._field == \"no_exist\"",
													Start: ast.Position{
														Column: 26,
														Line:   34,
													},
												},
											},
											Left: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   34,
														},
														File:   "difference_panic_test.flux",
														Source: "r._field",
														Start: ast.Position{
															Column: 26,
															Line:   34,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   34,
															},
															File:   "difference_panic_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 26,
																Line:   34,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 34,
																Line:   34,
															},
															File:   "difference_panic_test.flux",
															Source: "_field",
															Start: ast.Position{
																Column: 28,
																Line:   34,
															},
														},
													},
													Name: "_field",
												},
												Rbrack: nil,
											},
											Operator: 17,
											Right: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   34,
														},
														File:   "difference_panic_test.flux",
														Source: "\"no_exist\"",
														Start: ast.Position{
															Column: 38,
															Line:   34,
														},
													},
												},
												Value: "no_exist",
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   34,
													},
													File:   "difference_panic_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   34,
														},
														File:   "difference_panic_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   34,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 49,
										Line:   34,
									},
									File:   "difference_panic_test.flux",
									Source: "filter(fn: (r) => r._field == \"no_exist\")",
									Start: ast.Position{
										Column: 8,
										Line:   34,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   34,
										},
										File:   "difference_panic_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   34,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   35,
							},
							File:   "difference_panic_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._field == \"no_exist\")\n    |> difference()",
							Start: ast.Position{
								Column: 36,
								Line:   32,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   35,
								},
								File:   "difference_panic_test.flux",
								Source: "difference()",
								Start: ast.Position{
									Column: 8,
									Line:   35,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   35,
									},
									File:   "difference_panic_test.flux",
									Source: "difference",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Name: "difference",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   32,
							},
							File:   "difference_panic_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 23,
								Line:   32,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   32,
								},
								File:   "difference_panic_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 23,
									Line:   32,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   32,
							},
							File:   "difference_panic_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 29,
								Line:   32,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 136,
							Line:   37,
						},
						File:   "difference_panic_test.flux",
						Source: "_difference_panic = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference_panic})",
						Start: ast.Position{
							Column: 6,
							Line:   37,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   37,
							},
							File:   "difference_panic_test.flux",
							Source: "_difference_panic",
							Start: ast.Position{
								Column: 6,
								Line:   37,
							},
						},
					},
					Name: "_difference_panic",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 136,
								Line:   37,
							},
							File:   "difference_panic_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference_panic})",
							Start: ast.Position{
								Column: 26,
								Line:   37,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 136,
									Line:   37,
								},
								File:   "difference_panic_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference_panic})",
								Start: ast.Position{
									Column: 32,
									Line:   37,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 135,
										Line:   37,
									},
									File:   "difference_panic_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference_panic}",
									Start: ast.Position{
										Column: 33,
										Line:   37,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 73,
											Line:   37,
										},
										File:   "difference_panic_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 34,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 39,
												Line:   37,
											},
											File:   "difference_panic_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 34,
												Line:   37,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   37,
												},
												File:   "difference_panic_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 61,
													Line:   37,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 72,
														Line:   37,
													},
													File:   "difference_panic_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 61,
														Line:   37,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   37,
														},
														File:   "difference_panic_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 61,
															Line:   37,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   37,
														},
														File:   "difference_panic_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 66,
															Line:   37,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   37,
											},
											File:   "difference_panic_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 41,
												Line:   37,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   37,
												},
												File:   "difference_panic_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 41,
													Line:   37,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   37,
													},
													File:   "difference_panic_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 41,
														Line:   37,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   37,
													},
													File:   "difference_panic_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 49,
														Line:   37,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   37,
										},
										File:   "difference_panic_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 75,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   37,
											},
											File:   "difference_panic_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 75,
												Line:   37,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 109,
													Line:   37,
												},
												File:   "difference_panic_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 97,
													Line:   37,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 109,
														Line:   37,
													},
													File:   "difference_panic_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 97,
														Line:   37,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   37,
														},
														File:   "difference_panic_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 97,
															Line:   37,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 109,
															Line:   37,
														},
														File:   "difference_panic_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 102,
															Line:   37,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   37,
											},
											File:   "difference_panic_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 81,
												Line:   37,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   37,
												},
												File:   "difference_panic_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 81,
													Line:   37,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   37,
													},
													File:   "difference_panic_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 81,
														Line:   37,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   37,
													},
													File:   "difference_panic_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 89,
														Line:   37,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 134,
											Line:   37,
										},
										File:   "difference_panic_test.flux",
										Source: "fn: t_difference_panic",
										Start: ast.Position{
											Column: 112,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   37,
											},
											File:   "difference_panic_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 112,
												Line:   37,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 134,
												Line:   37,
											},
											File:   "difference_panic_test.flux",
											Source: "t_difference_panic",
											Start: ast.Position{
												Column: 116,
												Line:   37,
											},
										},
									},
									Name: "t_difference_panic",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 136,
						Line:   37,
					},
					File:   "difference_panic_test.flux",
					Source: "test _difference_panic = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference_panic})",
					Start: ast.Position{
						Column: 1,
						Line:   37,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "difference_panic_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "difference_panic_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "difference_panic_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "difference_panic_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "difference_panic_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   46,
				},
				File:   "difference_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n\"\nt_difference = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference()\n\ntest _difference = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "difference_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "difference_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "difference_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "difference_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "difference_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "difference_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "difference_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "difference_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "difference_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "difference_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "difference_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0.000006692848479872282,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0.00009788290896750595,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,-0.0004057539388853115,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0.00021082472700584276,used_percent,disk,disk1s2,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 20,
						Line:   44,
					},
					File:   "difference_test.flux",
					Source: "t_difference = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference()",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   42,
						},
						File:   "difference_test.flux",
						Source: "t_difference",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "t_difference",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   44,
						},
						File:   "difference_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference()",
						Start: ast.Position{
							Column: 16,
							Line:   42,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   42,
									},
									File:   "difference_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   42,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   43,
								},
								File:   "difference_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 30,
									Line:   42,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   43,
										},
										File:   "difference_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   43,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   43,
											},
											File:   "difference_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   43,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   43,
												},
												File:   "difference_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   43,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   43,
												},
												File:   "difference_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   43,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   43,
									},
									File:   "difference_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   43,
										},
										File:   "difference_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   43,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   44,
							},
							File:   "difference_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> difference()",
							Start: ast.Position{
								Column: 30,
								Line:   42,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   44,
								},
								File:   "difference_test.flux",
								Source: "difference()",
								Start: ast.Position{
									Column: 8,
									Line:   44,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   44,
									},
									File:   "difference_test.flux",
									Source: "difference",
									Start: ast.Position{
										Column: 8,
										Line:   44,
									},
								},
							},
							Name: "difference",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   42,
							},
							File:   "difference_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   42,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   42,
								},
								File:   "difference_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   42,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   42,
							},
							File:   "difference_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   42,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   46,
						},
						File:   "difference_test.flux",
						Source: "_difference = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
						Start: ast.Position{
							Column: 6,
							Line:   46,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   46,
							},
							File:   "difference_test.flux",
							Source: "_difference",
							Start: ast.Position{
								Column: 6,
								Line:   46,
							},
						},
					},
					Name: "_difference",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   46,
							},
							File:   "difference_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
							Start: ast.Position{
								Column: 20,
								Line:   46,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   46,
								},
								File:   "difference_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
								Start: ast.Position{
									Column: 26,
									Line:   46,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   46,
									},
									File:   "difference_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference}",
									Start: ast.Position{
										Column: 27,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   46,
										},
										File:   "difference_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   46,
											},
											File:   "difference_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   46,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   46,
												},
												File:   "difference_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   46,
													},
													File:   "difference_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   46,
														},
														File:   "difference_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   46,
														},
														File:   "difference_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   46,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   46,
											},
											File:   "difference_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   46,
												},
												File:   "difference_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   46,
													},
													File:   "difference_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   46,
													},
													File:   "difference_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   46,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   46,
										},
										File:   "difference_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   46,
											},
											File:   "difference_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   46,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   46,
												},
												File:   "difference_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   46,
													},
													File:   "difference_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   46,
														},
														File:   "difference_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   46,
														},
														File:   "difference_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   46,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   46,
											},
											File:   "difference_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   46,
												},
												File:   "difference_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   46,
													},
													File:   "difference_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   46,
													},
													File:   "difference_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   46,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   46,
										},
										File:   "difference_test.flux",
										Source: "fn: t_difference",
										Start: ast.Position{
											Column: 106,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   46,
											},
											File:   "difference_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   46,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   46,
											},
											File:   "difference_test.flux",
											Source: "t_difference",
											Start: ast.Position{
												Column: 110,
												Line:   46,
											},
										},
									},
									Name: "t_difference",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   46,
					},
					File:   "difference_test.flux",
					Source: "test _difference = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_difference})",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "difference_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "difference_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "difference_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "difference_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "difference_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 168,
					Line:   64,
				},
				File:   "double_exponential_moving_average_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,13.568840926166239,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,12.70174811931398,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,11.701405062848782,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,10.611872766773772,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,9.465595022565747,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,8.286166283961508,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,7.0904770859219255,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,5.890371851336026,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,4.6939254760732005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,3.5064225149113675,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,2.3311049123183603,used_percent,disk,disk1s1,apfs,host.local,/\n\"\ndouble_exponential_moving_average = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> doubleEMA(n: 10)\n\ntest _double_exponential_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: double_exponential_moving_average})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "double_exponential_moving_average_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "double_exponential_moving_average_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "double_exponential_moving_average_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "double_exponential_moving_average_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   42,
					},
					File:   "double_exponential_moving_average_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   42,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   59,
					},
					File:   "double_exponential_moving_average_test.flux",
					Source: "outData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,13.568840926166239,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,12.70174811931398,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,11.701405062848782,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,10.611872766773772,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,9.465595022565747,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,8.286166283961508,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,7.0904770859219255,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,5.890371851336026,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,4.6939254760732005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,3.5064225149113675,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,2.3311049123183603,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   43,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   43,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   59,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "\"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,13.568840926166239,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,12.70174811931398,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,11.701405062848782,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,10.611872766773772,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,9.465595022565747,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,8.286166283961508,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,7.0904770859219255,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,5.890371851336026,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,4.6939254760732005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,3.5064225149113675,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,2.3311049123183603,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   43,
						},
					},
				},
				Value: "\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,13.568840926166239,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,12.70174811931398,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,11.701405062848782,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,10.611872766773772,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,9.465595022565747,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,8.286166283961508,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,7.0904770859219255,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,5.890371851336026,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,4.6939254760732005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,3.5064225149113675,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,2.3311049123183603,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   62,
					},
					File:   "double_exponential_moving_average_test.flux",
					Source: "double_exponential_moving_average = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> doubleEMA(n: 10)",
					Start: ast.Position{
						Column: 1,
						Line:   60,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 34,
							Line:   60,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "double_exponential_moving_average",
						Start: ast.Position{
							Column: 1,
							Line:   60,
						},
					},
				},
				Name: "double_exponential_moving_average",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   62,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> doubleEMA(n: 10)",
						Start: ast.Position{
							Column: 37,
							Line:   60,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 56,
										Line:   60,
									},
									File:   "double_exponential_moving_average_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 51,
										Line:   60,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   61,
								},
								File:   "double_exponential_moving_average_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
								Start: ast.Position{
									Column: 51,
									Line:   60,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   61,
										},
										File:   "double_exponential_moving_average_test.flux",
										Source: "start: 2018-05-22T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   61,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   61,
											},
											File:   "double_exponential_moving_average_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   61,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   61,
												},
												File:   "double_exponential_moving_average_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   61,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   61,
												},
												File:   "double_exponential_moving_average_test.flux",
												Source: "2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   61,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   61,
									},
									File:   "double_exponential_moving_average_test.flux",
									Source: "range(start: 2018-05-22T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   61,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   61,
										},
										File:   "double_exponential_moving_average_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   61,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   62,
							},
							File:   "double_exponential_moving_average_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> doubleEMA(n: 10)",
							Start: ast.Position{
								Column: 51,
								Line:   60,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   62,
									},
									File:   "double_exponential_moving_average_test.flux",
									Source: "n: 10",
									Start: ast.Position{
										Column: 18,
										Line:   62,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   62,
										},
										File:   "double_exponential_moving_average_test.flux",
										Source: "n: 10",
										Start: ast.Position{
											Column: 18,
											Line:   62,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   62,
											},
											File:   "double_exponential_moving_average_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 18,
												Line:   62,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   62,
											},
											File:   "double_exponential_moving_average_test.flux",
											Source: "10",
											Start: ast.Position{
												Column: 21,
												Line:   62,
											},
										},
									},
									Value: int64(10),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   62,
								},
								File:   "double_exponential_moving_average_test.flux",
								Source: "doubleEMA(n: 10)",
								Start: ast.Position{
									Column: 8,
									Line:   62,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   62,
									},
									File:   "double_exponential_moving_average_test.flux",
									Source: "doubleEMA",
									Start: ast.Position{
										Column: 8,
										Line:   62,
									},
								},
							},
							Name: "doubleEMA",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 46,
								Line:   60,
							},
							File:   "double_exponential_moving_average_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 38,
								Line:   60,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 43,
									Line:   60,
								},
								File:   "double_exponential_moving_average_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 38,
									Line:   60,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 46,
								Line:   60,
							},
							File:   "double_exponential_moving_average_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 44,
								Line:   60,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 168,
							Line:   64,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "_double_exponential_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: double_exponential_moving_average})",
						Start: ast.Position{
							Column: 6,
							Line:   64,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   64,
							},
							File:   "double_exponential_moving_average_test.flux",
							Source: "_double_exponential_moving_average",
							Start: ast.Position{
								Column: 6,
								Line:   64,
							},
						},
					},
					Name: "_double_exponential_moving_average",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 168,
								Line:   64,
							},
							File:   "double_exponential_moving_average_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: double_exponential_moving_average})",
							Start: ast.Position{
								Column: 43,
								Line:   64,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 168,
									Line:   64,
								},
								File:   "double_exponential_moving_average_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: double_exponential_moving_average})",
								Start: ast.Position{
									Column: 49,
									Line:   64,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 167,
										Line:   64,
									},
									File:   "double_exponential_moving_average_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: double_exponential_moving_average}",
									Start: ast.Position{
										Column: 50,
										Line:   64,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 90,
											Line:   64,
										},
										File:   "double_exponential_moving_average_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 51,
											Line:   64,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 56,
												Line:   64,
											},
											File:   "double_exponential_moving_average_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 51,
												Line:   64,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   64,
												},
												File:   "double_exponential_moving_average_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 78,
													Line:   64,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   64,
													},
													File:   "double_exponential_moving_average_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 78,
														Line:   64,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 81,
															Line:   64,
														},
														File:   "double_exponential_moving_average_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 78,
															Line:   64,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   64,
														},
														File:   "double_exponential_moving_average_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 83,
															Line:   64,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 90,
												Line:   64,
											},
											File:   "double_exponential_moving_average_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 58,
												Line:   64,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 77,
													Line:   64,
												},
												File:   "double_exponential_moving_average_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 58,
													Line:   64,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   64,
													},
													File:   "double_exponential_moving_average_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 58,
														Line:   64,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   64,
													},
													File:   "double_exponential_moving_average_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 66,
														Line:   64,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 127,
											Line:   64,
										},
										File:   "double_exponential_moving_average_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 92,
											Line:   64,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 96,
												Line:   64,
											},
											File:   "double_exponential_moving_average_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 92,
												Line:   64,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 126,
													Line:   64,
												},
												File:   "double_exponential_moving_average_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 114,
													Line:   64,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 126,
														Line:   64,
													},
													File:   "double_exponential_moving_average_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 114,
														Line:   64,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 117,
															Line:   64,
														},
														File:   "double_exponential_moving_average_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 114,
															Line:   64,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 126,
															Line:   64,
														},
														File:   "double_exponential_moving_average_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 119,
															Line:   64,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 127,
												Line:   64,
											},
											File:   "double_exponential_moving_average_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 98,
												Line:   64,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 113,
													Line:   64,
												},
												File:   "double_exponential_moving_average_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 98,
													Line:   64,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   64,
													},
													File:   "double_exponential_moving_average_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 98,
														Line:   64,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 113,
														Line:   64,
													},
													File:   "double_exponential_moving_average_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 106,
														Line:   64,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 166,
											Line:   64,
										},
										File:   "double_exponential_moving_average_test.flux",
										Source: "fn: double_exponential_moving_average",
										Start: ast.Position{
											Column: 129,
											Line:   64,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 131,
												Line:   64,
											},
											File:   "double_exponential_moving_average_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 129,
												Line:   64,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 166,
												Line:   64,
											},
											File:   "double_exponential_moving_average_test.flux",
											Source: "double_exponential_moving_average",
											Start: ast.Position{
												Column: 133,
												Line:   64,
											},
										},
									},
									Name: "double_exponential_moving_average",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 168,
						Line:   64,
					},
					File:   "double_exponential_moving_average_test.flux",
					Source: "test _double_exponential_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: double_exponential_moving_average})",
					Start: ast.Position{
						Column: 1,
						Line:   64,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "double_exponential_moving_average_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "double_exponential_moving_average_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "double_exponential_moving_average_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "double_exponential_moving_average_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 136,
					Line:   61,
				},
				File:   "drop_after_rename_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\ndrop_after_rename = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> drop(columns: [\"old\"])\n\ntest _drop_after_rename = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_after_rename})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "drop_after_rename_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "drop_after_rename_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "drop_after_rename_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "drop_after_rename_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "drop_after_rename_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "drop_after_rename_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "drop_after_rename_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "drop_after_rename_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "drop_after_rename_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "drop_after_rename_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "drop_after_rename_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 30,
						Line:   59,
					},
					File:   "drop_after_rename_test.flux",
					Source: "drop_after_rename = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> drop(columns: [\"old\"])",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 18,
							Line:   56,
						},
						File:   "drop_after_rename_test.flux",
						Source: "drop_after_rename",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "drop_after_rename",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 30,
							Line:   59,
						},
						File:   "drop_after_rename_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> drop(columns: [\"old\"])",
						Start: ast.Position{
							Column: 21,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   56,
										},
										File:   "drop_after_rename_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 35,
											Line:   56,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "drop_after_rename_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 35,
										Line:   56,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "drop_after_rename_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "drop_after_rename_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   57,
													},
													File:   "drop_after_rename_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   57,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   57,
													},
													File:   "drop_after_rename_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   57,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   57,
										},
										File:   "drop_after_rename_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   57,
											},
											File:   "drop_after_rename_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   57,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   58,
								},
								File:   "drop_after_rename_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})",
								Start: ast.Position{
									Column: 35,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   58,
										},
										File:   "drop_after_rename_test.flux",
										Source: "columns: {old: \"new\"}",
										Start: ast.Position{
											Column: 15,
											Line:   58,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   58,
											},
											File:   "drop_after_rename_test.flux",
											Source: "columns: {old: \"new\"}",
											Start: ast.Position{
												Column: 15,
												Line:   58,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   58,
												},
												File:   "drop_after_rename_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 15,
													Line:   58,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   58,
												},
												File:   "drop_after_rename_test.flux",
												Source: "{old: \"new\"}",
												Start: ast.Position{
													Column: 24,
													Line:   58,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   58,
													},
													File:   "drop_after_rename_test.flux",
													Source: "old: \"new\"",
													Start: ast.Position{
														Column: 25,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   58,
														},
														File:   "drop_after_rename_test.flux",
														Source: "old",
														Start: ast.Position{
															Column: 25,
															Line:   58,
														},
													},
												},
												Name: "old",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   58,
														},
														File:   "drop_after_rename_test.flux",
														Source: "\"new\"",
														Start: ast.Position{
															Column: 30,
															Line:   58,
														},
													},
												},
												Value: "new",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   58,
									},
									File:   "drop_after_rename_test.flux",
									Source: "rename(columns: {old: \"new\"})",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   58,
										},
										File:   "drop_after_rename_test.flux",
										Source: "rename",
										Start: ast.Position{
											Column: 8,
											Line:   58,
										},
									},
								},
								Name: "rename",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   59,
							},
							File:   "drop_after_rename_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> drop(columns: [\"old\"])",
							Start: ast.Position{
								Column: 35,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   59,
									},
									File:   "drop_after_rename_test.flux",
									Source: "columns: [\"old\"]",
									Start: ast.Position{
										Column: 13,
										Line:   59,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   59,
										},
										File:   "drop_after_rename_test.flux",
										Source: "columns: [\"old\"]",
										Start: ast.Position{
											Column: 13,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   59,
											},
											File:   "drop_after_rename_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   59,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   59,
											},
											File:   "drop_after_rename_test.flux",
											Source: "[\"old\"]",
											Start: ast.Position{
												Column: 22,
												Line:   59,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   59,
												},
												File:   "drop_after_rename_test.flux",
												Source: "\"old\"",
												Start: ast.Position{
													Column: 23,
													Line:   59,
												},
											},
										},
										Value: "old",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   59,
								},
								File:   "drop_after_rename_test.flux",
								Source: "drop(columns: [\"old\"])",
								Start: ast.Position{
									Column: 8,
									Line:   59,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   59,
									},
									File:   "drop_after_rename_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   59,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   56,
							},
							File:   "drop_after_rename_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 22,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   56,
								},
								File:   "drop_after_rename_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 22,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   56,
							},
							File:   "drop_after_rename_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 28,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 136,
							Line:   61,
						},
						File:   "drop_after_rename_test.flux",
						Source: "_drop_after_rename = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_after_rename})",
						Start: ast.Position{
							Column: 6,
							Line:   61,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   61,
							},
							File:   "drop_after_rename_test.flux",
							Source: "_drop_after_rename",
							Start: ast.Position{
								Column: 6,
								Line:   61,
							},
						},
					},
					Name: "_drop_after_rename",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 136,
								Line:   61,
							},
							File:   "drop_after_rename_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_after_rename})",
							Start: ast.Position{
								Column: 27,
								Line:   61,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 136,
									Line:   61,
								},
								File:   "drop_after_rename_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_after_rename})",
								Start: ast.Position{
									Column: 33,
									Line:   61,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 135,
										Line:   61,
									},
									File:   "drop_after_rename_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_after_rename}",
									Start: ast.Position{
										Column: 34,
										Line:   61,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   61,
										},
										File:   "drop_after_rename_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 35,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   61,
											},
											File:   "drop_after_rename_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 35,
												Line:   61,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   61,
												},
												File:   "drop_after_rename_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 62,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   61,
													},
													File:   "drop_after_rename_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 62,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   61,
														},
														File:   "drop_after_rename_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 62,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   61,
														},
														File:   "drop_after_rename_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 67,
															Line:   61,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   61,
											},
											File:   "drop_after_rename_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 42,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   61,
												},
												File:   "drop_after_rename_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 42,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   61,
													},
													File:   "drop_after_rename_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 42,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   61,
													},
													File:   "drop_after_rename_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 50,
														Line:   61,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   61,
										},
										File:   "drop_after_rename_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 76,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   61,
											},
											File:   "drop_after_rename_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 76,
												Line:   61,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 110,
													Line:   61,
												},
												File:   "drop_after_rename_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 98,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 110,
														Line:   61,
													},
													File:   "drop_after_rename_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 98,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   61,
														},
														File:   "drop_after_rename_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 98,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 110,
															Line:   61,
														},
														File:   "drop_after_rename_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 103,
															Line:   61,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   61,
											},
											File:   "drop_after_rename_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 82,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   61,
												},
												File:   "drop_after_rename_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 82,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   61,
													},
													File:   "drop_after_rename_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 82,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   61,
													},
													File:   "drop_after_rename_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 90,
														Line:   61,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 134,
											Line:   61,
										},
										File:   "drop_after_rename_test.flux",
										Source: "fn: drop_after_rename",
										Start: ast.Position{
											Column: 113,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   61,
											},
											File:   "drop_after_rename_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 113,
												Line:   61,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 134,
												Line:   61,
											},
											File:   "drop_after_rename_test.flux",
											Source: "drop_after_rename",
											Start: ast.Position{
												Column: 117,
												Line:   61,
											},
										},
									},
									Name: "drop_after_rename",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 136,
						Line:   61,
					},
					File:   "drop_after_rename_test.flux",
					Source: "test _drop_after_rename = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_after_rename})",
					Start: ast.Position{
						Column: 1,
						Line:   61,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "drop_after_rename_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "drop_after_rename_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "drop_after_rename_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "drop_after_rename_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "drop_after_rename_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 138,
					Line:   45,
				},
				File:   "drop_before_rename_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,\\\"rename error: column \\\"\\\"old\\\"\\\" doesn't exist\\\",\n\"\ndrop_before_rename = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"old\"])\n    |> rename(columns: {old: \"new\"})\n    |> yield(name: \"0\")\n\ntest _drop_before_rename = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_before_rename})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "drop_before_rename_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "drop_before_rename_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "drop_before_rename_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "drop_before_rename_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "drop_before_rename_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "drop_before_rename_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "drop_before_rename_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "drop_before_rename_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   38,
					},
					File:   "drop_before_rename_test.flux",
					Source: "outData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,\\\"rename error: column \\\"\\\"old\\\"\\\" doesn't exist\\\",\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "drop_before_rename_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   38,
						},
						File:   "drop_before_rename_test.flux",
						Source: "\"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,\\\"rename error: column \\\"\\\"old\\\"\\\" doesn't exist\\\",\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,\"rename error: column \"\"old\"\" doesn't exist\",\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   43,
					},
					File:   "drop_before_rename_test.flux",
					Source: "drop_before_rename = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"old\"])\n    |> rename(columns: {old: \"new\"})\n    |> yield(name: \"0\")",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 19,
							Line:   39,
						},
						File:   "drop_before_rename_test.flux",
						Source: "drop_before_rename",
						Start: ast.Position{
							Column: 1,
							Line:   39,
						},
					},
				},
				Name: "drop_before_rename",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   43,
						},
						File:   "drop_before_rename_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"old\"])\n    |> rename(columns: {old: \"new\"})\n    |> yield(name: \"0\")",
						Start: ast.Position{
							Column: 22,
							Line:   39,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "drop_before_rename_test.flux",
											Source: "table",
											Start: ast.Position{
												Column: 36,
												Line:   39,
											},
										},
									},
									Name: "table",
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   40,
										},
										File:   "drop_before_rename_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 36,
											Line:   39,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   40,
												},
												File:   "drop_before_rename_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   40,
													},
													File:   "drop_before_rename_test.flux",
													Source: "start: 2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 14,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 19,
															Line:   40,
														},
														File:   "drop_before_rename_test.flux",
														Source: "start",
														Start: ast.Position{
															Column: 14,
															Line:   40,
														},
													},
												},
												Name: "start",
											},
											Separator: nil,
											Value: &ast.DateTimeLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   40,
														},
														File:   "drop_before_rename_test.flux",
														Source: "2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 21,
															Line:   40,
														},
													},
												},
												Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   40,
											},
											File:   "drop_before_rename_test.flux",
											Source: "range(start: 2018-05-22T19:53:26Z)",
											Start: ast.Position{
												Column: 8,
												Line:   40,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 13,
													Line:   40,
												},
												File:   "drop_before_rename_test.flux",
												Source: "range",
												Start: ast.Position{
													Column: 8,
													Line:   40,
												},
											},
										},
										Name: "range",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   41,
									},
									File:   "drop_before_rename_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"old\"])",
									Start: ast.Position{
										Column: 36,
										Line:   39,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   41,
											},
											File:   "drop_before_rename_test.flux",
											Source: "columns: [\"old\"]",
											Start: ast.Position{
												Column: 13,
												Line:   41,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 29,
													Line:   41,
												},
												File:   "drop_before_rename_test.flux",
												Source: "columns: [\"old\"]",
												Start: ast.Position{
													Column: 13,
													Line:   41,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   41,
													},
													File:   "drop_before_rename_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 13,
														Line:   41,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 29,
														Line:   41,
													},
													File:   "drop_before_rename_test.flux",
													Source: "[\"old\"]",
													Start: ast.Position{
														Column: 22,
														Line:   41,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   41,
														},
														File:   "drop_before_rename_test.flux",
														Source: "\"old\"",
														Start: ast.Position{
															Column: 23,
															Line:   41,
														},
													},
												},
												Value: "old",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 30,
											Line:   41,
										},
										File:   "drop_before_rename_test.flux",
										Source: "drop(columns: [\"old\"])",
										Start: ast.Position{
											Column: 8,
											Line:   41,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 12,
												Line:   41,
											},
											File:   "drop_before_rename_test.flux",
											Source: "drop",
											Start: ast.Position{
												Column: 8,
												Line:   41,
											},
										},
									},
									Name: "drop",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   42,
								},
								File:   "drop_before_rename_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"old\"])\n    |> rename(columns: {old: \"new\"})",
								Start: ast.Position{
									Column: 36,
									Line:   39,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   42,
										},
										File:   "drop_before_rename_test.flux",
										Source: "columns: {old: \"new\"}",
										Start: ast.Position{
											Column: 15,
											Line:   42,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   42,
											},
											File:   "drop_before_rename_test.flux",
											Source: "columns: {old: \"new\"}",
											Start: ast.Position{
												Column: 15,
												Line:   42,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   42,
												},
												File:   "drop_before_rename_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 15,
													Line:   42,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   42,
												},
												File:   "drop_before_rename_test.flux",
												Source: "{old: \"new\"}",
												Start: ast.Position{
													Column: 24,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   42,
													},
													File:   "drop_before_rename_test.flux",
													Source: "old: \"new\"",
													Start: ast.Position{
														Column: 25,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   42,
														},
														File:   "drop_before_rename_test.flux",
														Source: "old",
														Start: ast.Position{
															Column: 25,
															Line:   42,
														},
													},
												},
												Name: "old",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   42,
														},
														File:   "drop_before_rename_test.flux",
														Source: "\"new\"",
														Start: ast.Position{
															Column: 30,
															Line:   42,
														},
													},
												},
												Value: "new",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   42,
									},
									File:   "drop_before_rename_test.flux",
									Source: "rename(columns: {old: \"new\"})",
									Start: ast.Position{
										Column: 8,
										Line:   42,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   42,
										},
										File:   "drop_before_rename_test.flux",
										Source: "rename",
										Start: ast.Position{
											Column: 8,
											Line:   42,
										},
									},
								},
								Name: "rename",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   43,
							},
							File:   "drop_before_rename_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"old\"])\n    |> rename(columns: {old: \"new\"})\n    |> yield(name: \"0\")",
							Start: ast.Position{
								Column: 36,
								Line:   39,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   43,
									},
									File:   "drop_before_rename_test.flux",
									Source: "name: \"0\"",
									Start: ast.Position{
										Column: 14,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   43,
										},
										File:   "drop_before_rename_test.flux",
										Source: "name: \"0\"",
										Start: ast.Position{
											Column: 14,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   43,
											},
											File:   "drop_before_rename_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   43,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   43,
											},
											File:   "drop_before_rename_test.flux",
											Source: "\"0\"",
											Start: ast.Position{
												Column: 20,
												Line:   43,
											},
										},
									},
									Value: "0",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   43,
								},
								File:   "drop_before_rename_test.flux",
								Source: "yield(name: \"0\")",
								Start: ast.Position{
									Column: 8,
									Line:   43,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   43,
									},
									File:   "drop_before_rename_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   39,
							},
							File:   "drop_before_rename_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 23,
								Line:   39,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   39,
								},
								File:   "drop_before_rename_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 23,
									Line:   39,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   39,
							},
							File:   "drop_before_rename_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 29,
								Line:   39,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 138,
							Line:   45,
						},
						File:   "drop_before_rename_test.flux",
						Source: "_drop_before_rename = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_before_rename})",
						Start: ast.Position{
							Column: 6,
							Line:   45,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   45,
							},
							File:   "drop_before_rename_test.flux",
							Source: "_drop_before_rename",
							Start: ast.Position{
								Column: 6,
								Line:   45,
							},
						},
					},
					Name: "_drop_before_rename",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 138,
								Line:   45,
							},
							File:   "drop_before_rename_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_before_rename})",
							Start: ast.Position{
								Column: 28,
								Line:   45,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 138,
									Line:   45,
								},
								File:   "drop_before_rename_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_before_rename})",
								Start: ast.Position{
									Column: 34,
									Line:   45,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 137,
										Line:   45,
									},
									File:   "drop_before_rename_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_before_rename}",
									Start: ast.Position{
										Column: 35,
										Line:   45,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   45,
										},
										File:   "drop_before_rename_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 36,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "drop_before_rename_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 36,
												Line:   45,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   45,
												},
												File:   "drop_before_rename_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 63,
													Line:   45,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   45,
													},
													File:   "drop_before_rename_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 63,
														Line:   45,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   45,
														},
														File:   "drop_before_rename_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 63,
															Line:   45,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   45,
														},
														File:   "drop_before_rename_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 68,
															Line:   45,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   45,
											},
											File:   "drop_before_rename_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 43,
												Line:   45,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   45,
												},
												File:   "drop_before_rename_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 43,
													Line:   45,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   45,
													},
													File:   "drop_before_rename_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 43,
														Line:   45,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   45,
													},
													File:   "drop_before_rename_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 51,
														Line:   45,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   45,
										},
										File:   "drop_before_rename_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 77,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   45,
											},
											File:   "drop_before_rename_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 77,
												Line:   45,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   45,
												},
												File:   "drop_before_rename_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 99,
													Line:   45,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   45,
													},
													File:   "drop_before_rename_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 99,
														Line:   45,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   45,
														},
														File:   "drop_before_rename_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 99,
															Line:   45,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   45,
														},
														File:   "drop_before_rename_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 104,
															Line:   45,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   45,
											},
											File:   "drop_before_rename_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 83,
												Line:   45,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   45,
												},
												File:   "drop_before_rename_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 83,
													Line:   45,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   45,
													},
													File:   "drop_before_rename_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 83,
														Line:   45,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   45,
													},
													File:   "drop_before_rename_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 91,
														Line:   45,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 136,
											Line:   45,
										},
										File:   "drop_before_rename_test.flux",
										Source: "fn: drop_before_rename",
										Start: ast.Position{
											Column: 114,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   45,
											},
											File:   "drop_before_rename_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   45,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 136,
												Line:   45,
											},
											File:   "drop_before_rename_test.flux",
											Source: "drop_before_rename",
											Start: ast.Position{
												Column: 118,
												Line:   45,
											},
										},
									},
									Name: "drop_before_rename",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 138,
						Line:   45,
					},
					File:   "drop_before_rename_test.flux",
					Source: "test _drop_before_rename = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_before_rename})",
					Start: ast.Position{
						Column: 1,
						Line:   45,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "drop_before_rename_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "drop_before_rename_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "drop_before_rename_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "drop_before_rename_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "drop_before_rename_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 115,
					Line:   60,
				},
				File:   "drop_fn_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,dropme1,dropme2\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string\n#group,false,false,true,true,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu\n\"\nt_drop = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(fn: (column) => column =~ /dropme*/)\n\ntest _drop_fn = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "drop_fn_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "drop_fn_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "drop_fn_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "drop_fn_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "drop_fn_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "drop_fn_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,dropme1,dropme2\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "drop_fn_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "drop_fn_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,dropme1,dropme2\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,dropme1,dropme2\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "drop_fn_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string\n#group,false,false,true,true,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "drop_fn_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "drop_fn_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string\n#group,false,false,true,true,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string\n#group,false,false,true,true,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 49,
						Line:   58,
					},
					File:   "drop_fn_test.flux",
					Source: "t_drop = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(fn: (column) => column =~ /dropme*/)",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   56,
						},
						File:   "drop_fn_test.flux",
						Source: "t_drop",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "t_drop",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 49,
							Line:   58,
						},
						File:   "drop_fn_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(fn: (column) => column =~ /dropme*/)",
						Start: ast.Position{
							Column: 10,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   56,
									},
									File:   "drop_fn_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   56,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   57,
								},
								File:   "drop_fn_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 24,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   57,
										},
										File:   "drop_fn_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   57,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "drop_fn_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   57,
												},
												File:   "drop_fn_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "drop_fn_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   57,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "drop_fn_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   57,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   57,
										},
										File:   "drop_fn_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 49,
								Line:   58,
							},
							File:   "drop_fn_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(fn: (column) => column =~ /dropme*/)",
							Start: ast.Position{
								Column: 24,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   58,
									},
									File:   "drop_fn_test.flux",
									Source: "fn: (column) => column =~ /dropme*/",
									Start: ast.Position{
										Column: 13,
										Line:   58,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   58,
										},
										File:   "drop_fn_test.flux",
										Source: "fn: (column) => column =~ /dropme*/",
										Start: ast.Position{
											Column: 13,
											Line:   58,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 15,
												Line:   58,
											},
											File:   "drop_fn_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 13,
												Line:   58,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   58,
											},
											File:   "drop_fn_test.flux",
											Source: "(column) => column =~ /dropme*/",
											Start: ast.Position{
												Column: 17,
												Line:   58,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   58,
												},
												File:   "drop_fn_test.flux",
												Source: "column =~ /dropme*/",
												Start: ast.Position{
													Column: 29,
													Line:   58,
												},
											},
										},
										Left: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   58,
													},
													File:   "drop_fn_test.flux",
													Source: "column",
													Start: ast.Position{
														Column: 29,
														Line:   58,
													},
												},
											},
											Name: "column",
										},
										Operator: 19,
										Right: &ast.RegexpLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   58,
													},
													File:   "drop_fn_test.flux",
													Source: "/dropme*/",
													Start: ast.Position{
														Column: 39,
														Line:   58,
													},
												},
											},
											Value: regexp.MustCompile("dropme*"),
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   58,
												},
												File:   "drop_fn_test.flux",
												Source: "column",
												Start: ast.Position{
													Column: 18,
													Line:   58,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   58,
													},
													File:   "drop_fn_test.flux",
													Source: "column",
													Start: ast.Position{
														Column: 18,
														Line:   58,
													},
												},
											},
											Name: "column",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   58,
								},
								File:   "drop_fn_test.flux",
								Source: "drop(fn: (column) => column =~ /dropme*/)",
								Start: ast.Position{
									Column: 8,
									Line:   58,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   58,
									},
									File:   "drop_fn_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   56,
							},
							File:   "drop_fn_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   56,
								},
								File:   "drop_fn_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   56,
							},
							File:   "drop_fn_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 115,
							Line:   60,
						},
						File:   "drop_fn_test.flux",
						Source: "_drop_fn = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
						Start: ast.Position{
							Column: 6,
							Line:   60,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   60,
							},
							File:   "drop_fn_test.flux",
							Source: "_drop_fn",
							Start: ast.Position{
								Column: 6,
								Line:   60,
							},
						},
					},
					Name: "_drop_fn",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 115,
								Line:   60,
							},
							File:   "drop_fn_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
							Start: ast.Position{
								Column: 17,
								Line:   60,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 115,
									Line:   60,
								},
								File:   "drop_fn_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
								Start: ast.Position{
									Column: 23,
									Line:   60,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 114,
										Line:   60,
									},
									File:   "drop_fn_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop}",
									Start: ast.Position{
										Column: 24,
										Line:   60,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 64,
											Line:   60,
										},
										File:   "drop_fn_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 25,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   60,
											},
											File:   "drop_fn_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 25,
												Line:   60,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   60,
												},
												File:   "drop_fn_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 52,
													Line:   60,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   60,
													},
													File:   "drop_fn_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 52,
														Line:   60,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 55,
															Line:   60,
														},
														File:   "drop_fn_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 52,
															Line:   60,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   60,
														},
														File:   "drop_fn_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 57,
															Line:   60,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 64,
												Line:   60,
											},
											File:   "drop_fn_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 32,
												Line:   60,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   60,
												},
												File:   "drop_fn_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 32,
													Line:   60,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   60,
													},
													File:   "drop_fn_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 32,
														Line:   60,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   60,
													},
													File:   "drop_fn_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 40,
														Line:   60,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 101,
											Line:   60,
										},
										File:   "drop_fn_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 66,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   60,
											},
											File:   "drop_fn_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 66,
												Line:   60,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 100,
													Line:   60,
												},
												File:   "drop_fn_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 88,
													Line:   60,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 100,
														Line:   60,
													},
													File:   "drop_fn_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 88,
														Line:   60,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 91,
															Line:   60,
														},
														File:   "drop_fn_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 88,
															Line:   60,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   60,
														},
														File:   "drop_fn_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 93,
															Line:   60,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   60,
											},
											File:   "drop_fn_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 72,
												Line:   60,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 87,
													Line:   60,
												},
												File:   "drop_fn_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 72,
													Line:   60,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 79,
														Line:   60,
													},
													File:   "drop_fn_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 72,
														Line:   60,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   60,
													},
													File:   "drop_fn_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 80,
														Line:   60,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 113,
											Line:   60,
										},
										File:   "drop_fn_test.flux",
										Source: "fn: t_drop",
										Start: ast.Position{
											Column: 103,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   60,
											},
											File:   "drop_fn_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 103,
												Line:   60,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   60,
											},
											File:   "drop_fn_test.flux",
											Source: "t_drop",
											Start: ast.Position{
												Column: 107,
												Line:   60,
											},
										},
									},
									Name: "t_drop",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 115,
						Line:   60,
					},
					File:   "drop_fn_test.flux",
					Source: "test _drop_fn = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
					Start: ast.Position{
						Column: 1,
						Line:   60,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "drop_fn_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "drop_fn_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "drop_fn_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "drop_fn_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "drop_fn_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 138,
					Line:   61,
				},
				File:   "drop_newname_after_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,host.local\n\"\ndrop_newname_after = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> drop(columns: [\"new\"])\n\ntest _drop_newname_after = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_after})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "drop_newname_after_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "drop_newname_after_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "drop_newname_after_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "drop_newname_after_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "drop_newname_after_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "drop_newname_after_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "drop_newname_after_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "drop_newname_after_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "drop_newname_after_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "drop_newname_after_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "drop_newname_after_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 30,
						Line:   59,
					},
					File:   "drop_newname_after_test.flux",
					Source: "drop_newname_after = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> drop(columns: [\"new\"])",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 19,
							Line:   56,
						},
						File:   "drop_newname_after_test.flux",
						Source: "drop_newname_after",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "drop_newname_after",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 30,
							Line:   59,
						},
						File:   "drop_newname_after_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> drop(columns: [\"new\"])",
						Start: ast.Position{
							Column: 22,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   56,
										},
										File:   "drop_newname_after_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 36,
											Line:   56,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "drop_newname_after_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 36,
										Line:   56,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "drop_newname_after_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "drop_newname_after_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   57,
													},
													File:   "drop_newname_after_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   57,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   57,
													},
													File:   "drop_newname_after_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   57,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   57,
										},
										File:   "drop_newname_after_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   57,
											},
											File:   "drop_newname_after_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   57,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   58,
								},
								File:   "drop_newname_after_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})",
								Start: ast.Position{
									Column: 36,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   58,
										},
										File:   "drop_newname_after_test.flux",
										Source: "columns: {old: \"new\"}",
										Start: ast.Position{
											Column: 15,
											Line:   58,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   58,
											},
											File:   "drop_newname_after_test.flux",
											Source: "columns: {old: \"new\"}",
											Start: ast.Position{
												Column: 15,
												Line:   58,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   58,
												},
												File:   "drop_newname_after_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 15,
													Line:   58,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   58,
												},
												File:   "drop_newname_after_test.flux",
												Source: "{old: \"new\"}",
												Start: ast.Position{
													Column: 24,
													Line:   58,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   58,
													},
													File:   "drop_newname_after_test.flux",
													Source: "old: \"new\"",
													Start: ast.Position{
														Column: 25,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   58,
														},
														File:   "drop_newname_after_test.flux",
														Source: "old",
														Start: ast.Position{
															Column: 25,
															Line:   58,
														},
													},
												},
												Name: "old",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   58,
														},
														File:   "drop_newname_after_test.flux",
														Source: "\"new\"",
														Start: ast.Position{
															Column: 30,
															Line:   58,
														},
													},
												},
												Value: "new",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   58,
									},
									File:   "drop_newname_after_test.flux",
									Source: "rename(columns: {old: \"new\"})",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   58,
										},
										File:   "drop_newname_after_test.flux",
										Source: "rename",
										Start: ast.Position{
											Column: 8,
											Line:   58,
										},
									},
								},
								Name: "rename",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   59,
							},
							File:   "drop_newname_after_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> drop(columns: [\"new\"])",
							Start: ast.Position{
								Column: 36,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   59,
									},
									File:   "drop_newname_after_test.flux",
									Source: "columns: [\"new\"]",
									Start: ast.Position{
										Column: 13,
										Line:   59,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   59,
										},
										File:   "drop_newname_after_test.flux",
										Source: "columns: [\"new\"]",
										Start: ast.Position{
											Column: 13,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   59,
											},
											File:   "drop_newname_after_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   59,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   59,
											},
											File:   "drop_newname_after_test.flux",
											Source: "[\"new\"]",
											Start: ast.Position{
												Column: 22,
												Line:   59,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   59,
												},
												File:   "drop_newname_after_test.flux",
												Source: "\"new\"",
												Start: ast.Position{
													Column: 23,
													Line:   59,
												},
											},
										},
										Value: "new",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   59,
								},
								File:   "drop_newname_after_test.flux",
								Source: "drop(columns: [\"new\"])",
								Start: ast.Position{
									Column: 8,
									Line:   59,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   59,
									},
									File:   "drop_newname_after_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   59,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   56,
							},
							File:   "drop_newname_after_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 23,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   56,
								},
								File:   "drop_newname_after_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 23,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   56,
							},
							File:   "drop_newname_after_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 29,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 138,
							Line:   61,
						},
						File:   "drop_newname_after_test.flux",
						Source: "_drop_newname_after = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_after})",
						Start: ast.Position{
							Column: 6,
							Line:   61,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   61,
							},
							File:   "drop_newname_after_test.flux",
							Source: "_drop_newname_after",
							Start: ast.Position{
								Column: 6,
								Line:   61,
							},
						},
					},
					Name: "_drop_newname_after",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 138,
								Line:   61,
							},
							File:   "drop_newname_after_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_after})",
							Start: ast.Position{
								Column: 28,
								Line:   61,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 138,
									Line:   61,
								},
								File:   "drop_newname_after_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_after})",
								Start: ast.Position{
									Column: 34,
									Line:   61,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 137,
										Line:   61,
									},
									File:   "drop_newname_after_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_after}",
									Start: ast.Position{
										Column: 35,
										Line:   61,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   61,
										},
										File:   "drop_newname_after_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 36,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   61,
											},
											File:   "drop_newname_after_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 36,
												Line:   61,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   61,
												},
												File:   "drop_newname_after_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 63,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   61,
													},
													File:   "drop_newname_after_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 63,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   61,
														},
														File:   "drop_newname_after_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 63,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   61,
														},
														File:   "drop_newname_after_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 68,
															Line:   61,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   61,
											},
											File:   "drop_newname_after_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 43,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   61,
												},
												File:   "drop_newname_after_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 43,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   61,
													},
													File:   "drop_newname_after_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 43,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   61,
													},
													File:   "drop_newname_after_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 51,
														Line:   61,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   61,
										},
										File:   "drop_newname_after_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 77,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   61,
											},
											File:   "drop_newname_after_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 77,
												Line:   61,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   61,
												},
												File:   "drop_newname_after_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 99,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   61,
													},
													File:   "drop_newname_after_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 99,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   61,
														},
														File:   "drop_newname_after_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 99,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   61,
														},
														File:   "drop_newname_after_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 104,
															Line:   61,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   61,
											},
											File:   "drop_newname_after_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 83,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   61,
												},
												File:   "drop_newname_after_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 83,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   61,
													},
													File:   "drop_newname_after_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 83,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   61,
													},
													File:   "drop_newname_after_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 91,
														Line:   61,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 136,
											Line:   61,
										},
										File:   "drop_newname_after_test.flux",
										Source: "fn: drop_newname_after",
										Start: ast.Position{
											Column: 114,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   61,
											},
											File:   "drop_newname_after_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   61,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 136,
												Line:   61,
											},
											File:   "drop_newname_after_test.flux",
											Source: "drop_newname_after",
											Start: ast.Position{
												Column: 118,
												Line:   61,
											},
										},
									},
									Name: "drop_newname_after",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 138,
						Line:   61,
					},
					File:   "drop_newname_after_test.flux",
					Source: "test _drop_newname_after = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_after})",
					Start: ast.Position{
						Column: 1,
						Line:   61,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "drop_newname_after_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "drop_newname_after_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "drop_newname_after_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "drop_newname_after_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "drop_newname_after_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 140,
					Line:   61,
				},
				File:   "drop_newname_before_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\ndrop_newname_before = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"new\"])\n    |> rename(columns: {old: \"new\"})\n\ntest _drop_newname_before = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_before})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "drop_newname_before_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "drop_newname_before_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "drop_newname_before_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "drop_newname_before_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "drop_newname_before_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "drop_newname_before_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "drop_newname_before_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "drop_newname_before_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "drop_newname_before_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "drop_newname_before_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "drop_newname_before_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 37,
						Line:   59,
					},
					File:   "drop_newname_before_test.flux",
					Source: "drop_newname_before = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"new\"])\n    |> rename(columns: {old: \"new\"})",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   56,
						},
						File:   "drop_newname_before_test.flux",
						Source: "drop_newname_before",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "drop_newname_before",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 37,
							Line:   59,
						},
						File:   "drop_newname_before_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"new\"])\n    |> rename(columns: {old: \"new\"})",
						Start: ast.Position{
							Column: 23,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   56,
										},
										File:   "drop_newname_before_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 37,
											Line:   56,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "drop_newname_before_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 37,
										Line:   56,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "drop_newname_before_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "drop_newname_before_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   57,
													},
													File:   "drop_newname_before_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   57,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   57,
													},
													File:   "drop_newname_before_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   57,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   57,
										},
										File:   "drop_newname_before_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   57,
											},
											File:   "drop_newname_before_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   57,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   58,
								},
								File:   "drop_newname_before_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"new\"])",
								Start: ast.Position{
									Column: 37,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   58,
										},
										File:   "drop_newname_before_test.flux",
										Source: "columns: [\"new\"]",
										Start: ast.Position{
											Column: 13,
											Line:   58,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   58,
											},
											File:   "drop_newname_before_test.flux",
											Source: "columns: [\"new\"]",
											Start: ast.Position{
												Column: 13,
												Line:   58,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   58,
												},
												File:   "drop_newname_before_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 13,
													Line:   58,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 29,
													Line:   58,
												},
												File:   "drop_newname_before_test.flux",
												Source: "[\"new\"]",
												Start: ast.Position{
													Column: 22,
													Line:   58,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   58,
													},
													File:   "drop_newname_before_test.flux",
													Source: "\"new\"",
													Start: ast.Position{
														Column: 23,
														Line:   58,
													},
												},
											},
											Value: "new",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   58,
									},
									File:   "drop_newname_before_test.flux",
									Source: "drop(columns: [\"new\"])",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   58,
										},
										File:   "drop_newname_before_test.flux",
										Source: "drop",
										Start: ast.Position{
											Column: 8,
											Line:   58,
										},
									},
								},
								Name: "drop",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 37,
								Line:   59,
							},
							File:   "drop_newname_before_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"new\"])\n    |> rename(columns: {old: \"new\"})",
							Start: ast.Position{
								Column: 37,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 36,
										Line:   59,
									},
									File:   "drop_newname_before_test.flux",
									Source: "columns: {old: \"new\"}",
									Start: ast.Position{
										Column: 15,
										Line:   59,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   59,
										},
										File:   "drop_newname_before_test.flux",
										Source: "columns: {old: \"new\"}",
										Start: ast.Position{
											Column: 15,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 22,
												Line:   59,
											},
											File:   "drop_newname_before_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 15,
												Line:   59,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   59,
											},
											File:   "drop_newname_before_test.flux",
											Source: "{old: \"new\"}",
											Start: ast.Position{
												Column: 24,
												Line:   59,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 35,
													Line:   59,
												},
												File:   "drop_newname_before_test.flux",
												Source: "old: \"new\"",
												Start: ast.Position{
													Column: 25,
													Line:   59,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   59,
													},
													File:   "drop_newname_before_test.flux",
													Source: "old",
													Start: ast.Position{
														Column: 25,
														Line:   59,
													},
												},
											},
											Name: "old",
										},
										Separator: nil,
										Value: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   59,
													},
													File:   "drop_newname_before_test.flux",
													Source: "\"new\"",
													Start: ast.Position{
														Column: 30,
														Line:   59,
													},
												},
											},
											Value: "new",
										},
									}},
									Rbrace: nil,
									With:   nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   59,
								},
								File:   "drop_newname_before_test.flux",
								Source: "rename(columns: {old: \"new\"})",
								Start: ast.Position{
									Column: 8,
									Line:   59,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   59,
									},
									File:   "drop_newname_before_test.flux",
									Source: "rename",
									Start: ast.Position{
										Column: 8,
										Line:   59,
									},
								},
							},
							Name: "rename",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   56,
							},
							File:   "drop_newname_before_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 24,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 29,
									Line:   56,
								},
								File:   "drop_newname_before_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 24,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   56,
							},
							File:   "drop_newname_before_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 30,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 140,
							Line:   61,
						},
						File:   "drop_newname_before_test.flux",
						Source: "_drop_newname_before = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_before})",
						Start: ast.Position{
							Column: 6,
							Line:   61,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   61,
							},
							File:   "drop_newname_before_test.flux",
							Source: "_drop_newname_before",
							Start: ast.Position{
								Column: 6,
								Line:   61,
							},
						},
					},
					Name: "_drop_newname_before",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 140,
								Line:   61,
							},
							File:   "drop_newname_before_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_before})",
							Start: ast.Position{
								Column: 29,
								Line:   61,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 140,
									Line:   61,
								},
								File:   "drop_newname_before_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_before})",
								Start: ast.Position{
									Column: 35,
									Line:   61,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 139,
										Line:   61,
									},
									File:   "drop_newname_before_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_before}",
									Start: ast.Position{
										Column: 36,
										Line:   61,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   61,
										},
										File:   "drop_newname_before_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 37,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   61,
											},
											File:   "drop_newname_before_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 37,
												Line:   61,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 75,
													Line:   61,
												},
												File:   "drop_newname_before_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 64,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   61,
													},
													File:   "drop_newname_before_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 64,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   61,
														},
														File:   "drop_newname_before_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 64,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   61,
														},
														File:   "drop_newname_before_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 69,
															Line:   61,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   61,
											},
											File:   "drop_newname_before_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 44,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   61,
												},
												File:   "drop_newname_before_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 44,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   61,
													},
													File:   "drop_newname_before_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 44,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   61,
													},
													File:   "drop_newname_before_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 52,
														Line:   61,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 113,
											Line:   61,
										},
										File:   "drop_newname_before_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 78,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   61,
											},
											File:   "drop_newname_before_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 78,
												Line:   61,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 112,
													Line:   61,
												},
												File:   "drop_newname_before_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 100,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 112,
														Line:   61,
													},
													File:   "drop_newname_before_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 100,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   61,
														},
														File:   "drop_newname_before_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 100,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 112,
															Line:   61,
														},
														File:   "drop_newname_before_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 105,
															Line:   61,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   61,
											},
											File:   "drop_newname_before_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 84,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   61,
												},
												File:   "drop_newname_before_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 84,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   61,
													},
													File:   "drop_newname_before_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 84,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   61,
													},
													File:   "drop_newname_before_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 92,
														Line:   61,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 138,
											Line:   61,
										},
										File:   "drop_newname_before_test.flux",
										Source: "fn: drop_newname_before",
										Start: ast.Position{
											Column: 115,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 117,
												Line:   61,
											},
											File:   "drop_newname_before_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 115,
												Line:   61,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 138,
												Line:   61,
											},
											File:   "drop_newname_before_test.flux",
											Source: "drop_newname_before",
											Start: ast.Position{
												Column: 119,
												Line:   61,
											},
										},
									},
									Name: "drop_newname_before",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 140,
						Line:   61,
					},
					File:   "drop_newname_before_test.flux",
					Source: "test _drop_newname_before = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_newname_before})",
					Start: ast.Position{
						Column: 1,
						Line:   61,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "drop_newname_before_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "drop_newname_before_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "drop_newname_before_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "drop_newname_before_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "drop_newname_before_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 125,
					Line:   68,
				},
				File:   "drop_non_existent_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,dropme1,dropme2\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu\n\"\nt_drop = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(\n        columns: [\n            \"non_existent\",\n            \"dropme1\",\n            \"dropme2\",\n            \"_start\",\n            \"_stop\",\n        ],\n    )\n\ntest _drop_non_existent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "drop_non_existent_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "drop_non_existent_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "drop_non_existent_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "drop_non_existent_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "drop_non_existent_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "drop_non_existent_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,dropme1,dropme2\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "drop_non_existent_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "drop_non_existent_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,dropme1,dropme2\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,dropme1,dropme2\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "drop_non_existent_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "drop_non_existent_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "drop_non_existent_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   66,
					},
					File:   "drop_non_existent_test.flux",
					Source: "t_drop = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(\n        columns: [\n            \"non_existent\",\n            \"dropme1\",\n            \"dropme2\",\n            \"_start\",\n            \"_stop\",\n        ],\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   56,
						},
						File:   "drop_non_existent_test.flux",
						Source: "t_drop",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "t_drop",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   66,
						},
						File:   "drop_non_existent_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(\n        columns: [\n            \"non_existent\",\n            \"dropme1\",\n            \"dropme2\",\n            \"_start\",\n            \"_stop\",\n        ],\n    )",
						Start: ast.Position{
							Column: 10,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   56,
									},
									File:   "drop_non_existent_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   56,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   57,
								},
								File:   "drop_non_existent_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 24,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   57,
										},
										File:   "drop_non_existent_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   57,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "drop_non_existent_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   57,
												},
												File:   "drop_non_existent_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "drop_non_existent_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   57,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "drop_non_existent_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   57,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   57,
										},
										File:   "drop_non_existent_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   66,
							},
							File:   "drop_non_existent_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(\n        columns: [\n            \"non_existent\",\n            \"dropme1\",\n            \"dropme2\",\n            \"_start\",\n            \"_stop\",\n        ],\n    )",
							Start: ast.Position{
								Column: 24,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   65,
									},
									File:   "drop_non_existent_test.flux",
									Source: "columns: [\n            \"non_existent\",\n            \"dropme1\",\n            \"dropme2\",\n            \"_start\",\n            \"_stop\",\n        ]",
									Start: ast.Position{
										Column: 9,
										Line:   59,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   65,
										},
										File:   "drop_non_existent_test.flux",
										Source: "columns: [\n            \"non_existent\",\n            \"dropme1\",\n            \"dropme2\",\n            \"_start\",\n            \"_stop\",\n        ]",
										Start: ast.Position{
											Column: 9,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   59,
											},
											File:   "drop_non_existent_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 9,
												Line:   59,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   65,
											},
											File:   "drop_non_existent_test.flux",
											Source: "[\n            \"non_existent\",\n            \"dropme1\",\n            \"dropme2\",\n            \"_start\",\n            \"_stop\",\n        ]",
											Start: ast.Position{
												Column: 18,
												Line:   59,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 27,
													Line:   60,
												},
												File:   "drop_non_existent_test.flux",
												Source: "\"non_existent\"",
												Start: ast.Position{
													Column: 13,
													Line:   60,
												},
											},
										},
										Value: "non_existent",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   61,
												},
												File:   "drop_non_existent_test.flux",
												Source: "\"dropme1\"",
												Start: ast.Position{
													Column: 13,
													Line:   61,
												},
											},
										},
										Value: "dropme1",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   62,
												},
												File:   "drop_non_existent_test.flux",
												Source: "\"dropme2\"",
												Start: ast.Position{
													Column: 13,
													Line:   62,
												},
											},
										},
										Value: "dropme2",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   63,
												},
												File:   "drop_non_existent_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 13,
													Line:   63,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   64,
												},
												File:   "drop_non_existent_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 13,
													Line:   64,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   66,
								},
								File:   "drop_non_existent_test.flux",
								Source: "drop(\n        columns: [\n            \"non_existent\",\n            \"dropme1\",\n            \"dropme2\",\n            \"_start\",\n            \"_stop\",\n        ],\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   58,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   58,
									},
									File:   "drop_non_existent_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   56,
							},
							File:   "drop_non_existent_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   56,
								},
								File:   "drop_non_existent_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   56,
							},
							File:   "drop_non_existent_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 125,
							Line:   68,
						},
						File:   "drop_non_existent_test.flux",
						Source: "_drop_non_existent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
						Start: ast.Position{
							Column: 6,
							Line:   68,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   68,
							},
							File:   "drop_non_existent_test.flux",
							Source: "_drop_non_existent",
							Start: ast.Position{
								Column: 6,
								Line:   68,
							},
						},
					},
					Name: "_drop_non_existent",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 125,
								Line:   68,
							},
							File:   "drop_non_existent_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
							Start: ast.Position{
								Column: 27,
								Line:   68,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 125,
									Line:   68,
								},
								File:   "drop_non_existent_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
								Start: ast.Position{
									Column: 33,
									Line:   68,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 124,
										Line:   68,
									},
									File:   "drop_non_existent_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop}",
									Start: ast.Position{
										Column: 34,
										Line:   68,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   68,
										},
										File:   "drop_non_existent_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 35,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   68,
											},
											File:   "drop_non_existent_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 35,
												Line:   68,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   68,
												},
												File:   "drop_non_existent_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 62,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   68,
													},
													File:   "drop_non_existent_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 62,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   68,
														},
														File:   "drop_non_existent_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 62,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   68,
														},
														File:   "drop_non_existent_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 67,
															Line:   68,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   68,
											},
											File:   "drop_non_existent_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 42,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   68,
												},
												File:   "drop_non_existent_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 42,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   68,
													},
													File:   "drop_non_existent_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 42,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   68,
													},
													File:   "drop_non_existent_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 50,
														Line:   68,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   68,
										},
										File:   "drop_non_existent_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 76,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   68,
											},
											File:   "drop_non_existent_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 76,
												Line:   68,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 110,
													Line:   68,
												},
												File:   "drop_non_existent_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 98,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 110,
														Line:   68,
													},
													File:   "drop_non_existent_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 98,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   68,
														},
														File:   "drop_non_existent_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 98,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 110,
															Line:   68,
														},
														File:   "drop_non_existent_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 103,
															Line:   68,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   68,
											},
											File:   "drop_non_existent_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 82,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   68,
												},
												File:   "drop_non_existent_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 82,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   68,
													},
													File:   "drop_non_existent_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 82,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   68,
													},
													File:   "drop_non_existent_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 90,
														Line:   68,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 123,
											Line:   68,
										},
										File:   "drop_non_existent_test.flux",
										Source: "fn: t_drop",
										Start: ast.Position{
											Column: 113,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   68,
											},
											File:   "drop_non_existent_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 113,
												Line:   68,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   68,
											},
											File:   "drop_non_existent_test.flux",
											Source: "t_drop",
											Start: ast.Position{
												Column: 117,
												Line:   68,
											},
										},
									},
									Name: "t_drop",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 125,
						Line:   68,
					},
					File:   "drop_non_existent_test.flux",
					Source: "test _drop_non_existent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_drop})",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "drop_non_existent_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "drop_non_existent_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "drop_non_existent_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "drop_non_existent_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "drop_non_existent_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   54,
				},
				File:   "drop_referenced_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,\"\n\nfunction\nreferences\nunknown\ncolumn\n\"\"\n_field\n\"\"\n\",\n\"\n\ndrop_referenced = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_field\"])\n    |> filter(fn: (r) => r._field == \"usage_guest\")\n\ntest _drop_referenced = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_referenced})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "drop_referenced_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "drop_referenced_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "drop_referenced_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "drop_referenced_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "drop_referenced_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "drop_referenced_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "drop_referenced_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "drop_referenced_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   37,
					},
					File:   "drop_referenced_test.flux",
					Source: "outData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "drop_referenced_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   37,
						},
						File:   "drop_referenced_test.flux",
						Source: "\"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 9,
						Line:   39,
					},
					File:   "drop_referenced_test.flux",
					Source: "function",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
			Expression: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   39,
						},
						File:   "drop_referenced_test.flux",
						Source: "function",
						Start: ast.Position{
							Column: 1,
							Line:   39,
						},
					},
				},
				Name: "function",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 11,
						Line:   40,
					},
					File:   "drop_referenced_test.flux",
					Source: "references",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
			Expression: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   40,
						},
						File:   "drop_referenced_test.flux",
						Source: "references",
						Start: ast.Position{
							Column: 1,
							Line:   40,
						},
					},
				},
				Name: "references",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 8,
						Line:   41,
					},
					File:   "drop_referenced_test.flux",
					Source: "unknown",
					Start: ast.Position{
						Column: 1,
						Line:   41,
					},
				},
			},
			Expression: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   41,
						},
						File:   "drop_referenced_test.flux",
						Source: "unknown",
						Start: ast.Position{
							Column: 1,
							Line:   41,
						},
					},
				},
				Name: "unknown",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 7,
						Line:   42,
					},
					File:   "drop_referenced_test.flux",
					Source: "column",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			Expression: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   42,
						},
						File:   "drop_referenced_test.flux",
						Source: "column",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "column",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   43,
					},
					File:   "drop_referenced_test.flux",
					Source: "\"\"",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
			Expression: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   43,
						},
						File:   "drop_referenced_test.flux",
						Source: "\"\"",
						Start: ast.Position{
							Column: 1,
							Line:   43,
						},
					},
				},
				Value: "",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 7,
						Line:   44,
					},
					File:   "drop_referenced_test.flux",
					Source: "_field",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			Expression: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   44,
						},
						File:   "drop_referenced_test.flux",
						Source: "_field",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "_field",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   45,
					},
					File:   "drop_referenced_test.flux",
					Source: "\"\"",
					Start: ast.Position{
						Column: 1,
						Line:   45,
					},
				},
			},
			Expression: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   45,
						},
						File:   "drop_referenced_test.flux",
						Source: "\"\"",
						Start: ast.Position{
							Column: 1,
							Line:   45,
						},
					},
				},
				Value: "",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "drop_referenced_test.flux",
					Source: "\",\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
			Expression: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "drop_referenced_test.flux",
						Source: "\",\n\"",
						Start: ast.Position{
							Column: 1,
							Line:   46,
						},
					},
				},
				Value: ",\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 52,
						Line:   52,
					},
					File:   "drop_referenced_test.flux",
					Source: "drop_referenced = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_field\"])\n    |> filter(fn: (r) => r._field == \"usage_guest\")",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   49,
						},
						File:   "drop_referenced_test.flux",
						Source: "drop_referenced",
						Start: ast.Position{
							Column: 1,
							Line:   49,
						},
					},
				},
				Name: "drop_referenced",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 52,
							Line:   52,
						},
						File:   "drop_referenced_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_field\"])\n    |> filter(fn: (r) => r._field == \"usage_guest\")",
						Start: ast.Position{
							Column: 19,
							Line:   49,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   49,
										},
										File:   "drop_referenced_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 33,
											Line:   49,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   50,
									},
									File:   "drop_referenced_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 33,
										Line:   49,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   50,
											},
											File:   "drop_referenced_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   50,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   50,
												},
												File:   "drop_referenced_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   50,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   50,
													},
													File:   "drop_referenced_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   50,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   50,
													},
													File:   "drop_referenced_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   50,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   50,
										},
										File:   "drop_referenced_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   50,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   50,
											},
											File:   "drop_referenced_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   50,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   51,
								},
								File:   "drop_referenced_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_field\"])",
								Start: ast.Position{
									Column: 33,
									Line:   49,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   51,
										},
										File:   "drop_referenced_test.flux",
										Source: "columns: [\"_field\"]",
										Start: ast.Position{
											Column: 13,
											Line:   51,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   51,
											},
											File:   "drop_referenced_test.flux",
											Source: "columns: [\"_field\"]",
											Start: ast.Position{
												Column: 13,
												Line:   51,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   51,
												},
												File:   "drop_referenced_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 13,
													Line:   51,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   51,
												},
												File:   "drop_referenced_test.flux",
												Source: "[\"_field\"]",
												Start: ast.Position{
													Column: 22,
													Line:   51,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   51,
													},
													File:   "drop_referenced_test.flux",
													Source: "\"_field\"",
													Start: ast.Position{
														Column: 23,
														Line:   51,
													},
												},
											},
											Value: "_field",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   51,
									},
									File:   "drop_referenced_test.flux",
									Source: "drop(columns: [\"_field\"])",
									Start: ast.Position{
										Column: 8,
										Line:   51,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   51,
										},
										File:   "drop_referenced_test.flux",
										Source: "drop",
										Start: ast.Position{
											Column: 8,
											Line:   51,
										},
									},
								},
								Name: "drop",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 52,
								Line:   52,
							},
							File:   "drop_referenced_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_field\"])\n    |> filter(fn: (r) => r._field == \"usage_guest\")",
							Start: ast.Position{
								Column: 33,
								Line:   49,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 51,
										Line:   52,
									},
									File:   "drop_referenced_test.flux",
									Source: "fn: (r) => r._field == \"usage_guest\"",
									Start: ast.Position{
										Column: 15,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 51,
											Line:   52,
										},
										File:   "drop_referenced_test.flux",
										Source: "fn: (r) => r._field == \"usage_guest\"",
										Start: ast.Position{
											Column: 15,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   52,
											},
											File:   "drop_referenced_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   52,
											},
											File:   "drop_referenced_test.flux",
											Source: "(r) => r._field == \"usage_guest\"",
											Start: ast.Position{
												Column: 19,
												Line:   52,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   52,
												},
												File:   "drop_referenced_test.flux",
												Source: "r._field == \"usage_guest\"",
												Start: ast.Position{
													Column: 26,
													Line:   52,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   52,
													},
													File:   "drop_referenced_test.flux",
													Source: "r._field",
													Start: ast.Position{
														Column: 26,
														Line:   52,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   52,
														},
														File:   "drop_referenced_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   52,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   52,
														},
														File:   "drop_referenced_test.flux",
														Source: "_field",
														Start: ast.Position{
															Column: 28,
															Line:   52,
														},
													},
												},
												Name: "_field",
											},
											Rbrack: nil,
										},
										Operator: 17,
										Right: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   52,
													},
													File:   "drop_referenced_test.flux",
													Source: "\"usage_guest\"",
													Start: ast.Position{
														Column: 38,
														Line:   52,
													},
												},
											},
											Value: "usage_guest",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   52,
												},
												File:   "drop_referenced_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   52,
													},
													File:   "drop_referenced_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   52,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 52,
									Line:   52,
								},
								File:   "drop_referenced_test.flux",
								Source: "filter(fn: (r) => r._field == \"usage_guest\")",
								Start: ast.Position{
									Column: 8,
									Line:   52,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   52,
									},
									File:   "drop_referenced_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   52,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   49,
							},
							File:   "drop_referenced_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 20,
								Line:   49,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   49,
								},
								File:   "drop_referenced_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 20,
									Line:   49,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   49,
							},
							File:   "drop_referenced_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 26,
								Line:   49,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   54,
						},
						File:   "drop_referenced_test.flux",
						Source: "_drop_referenced = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_referenced})",
						Start: ast.Position{
							Column: 6,
							Line:   54,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   54,
							},
							File:   "drop_referenced_test.flux",
							Source: "_drop_referenced",
							Start: ast.Position{
								Column: 6,
								Line:   54,
							},
						},
					},
					Name: "_drop_referenced",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   54,
							},
							File:   "drop_referenced_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_referenced})",
							Start: ast.Position{
								Column: 25,
								Line:   54,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   54,
								},
								File:   "drop_referenced_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_referenced})",
								Start: ast.Position{
									Column: 31,
									Line:   54,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   54,
									},
									File:   "drop_referenced_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_referenced}",
									Start: ast.Position{
										Column: 32,
										Line:   54,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 72,
											Line:   54,
										},
										File:   "drop_referenced_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 33,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   54,
											},
											File:   "drop_referenced_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 33,
												Line:   54,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   54,
												},
												File:   "drop_referenced_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 60,
													Line:   54,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   54,
													},
													File:   "drop_referenced_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 60,
														Line:   54,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   54,
														},
														File:   "drop_referenced_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 60,
															Line:   54,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   54,
														},
														File:   "drop_referenced_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 65,
															Line:   54,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   54,
											},
											File:   "drop_referenced_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 40,
												Line:   54,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   54,
												},
												File:   "drop_referenced_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 40,
													Line:   54,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   54,
													},
													File:   "drop_referenced_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 40,
														Line:   54,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   54,
													},
													File:   "drop_referenced_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 48,
														Line:   54,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 109,
											Line:   54,
										},
										File:   "drop_referenced_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 74,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   54,
											},
											File:   "drop_referenced_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 74,
												Line:   54,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 108,
													Line:   54,
												},
												File:   "drop_referenced_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 96,
													Line:   54,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 108,
														Line:   54,
													},
													File:   "drop_referenced_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 96,
														Line:   54,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   54,
														},
														File:   "drop_referenced_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 96,
															Line:   54,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 108,
															Line:   54,
														},
														File:   "drop_referenced_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 101,
															Line:   54,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   54,
											},
											File:   "drop_referenced_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 80,
												Line:   54,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   54,
												},
												File:   "drop_referenced_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 80,
													Line:   54,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   54,
													},
													File:   "drop_referenced_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 80,
														Line:   54,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 95,
														Line:   54,
													},
													File:   "drop_referenced_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 88,
														Line:   54,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   54,
										},
										File:   "drop_referenced_test.flux",
										Source: "fn: drop_referenced",
										Start: ast.Position{
											Column: 111,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   54,
											},
											File:   "drop_referenced_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 111,
												Line:   54,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   54,
											},
											File:   "drop_referenced_test.flux",
											Source: "drop_referenced",
											Start: ast.Position{
												Column: 115,
												Line:   54,
											},
										},
									},
									Name: "drop_referenced",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   54,
					},
					File:   "drop_referenced_test.flux",
					Source: "test _drop_referenced = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_referenced})",
					Start: ast.Position{
						Column: 1,
						Line:   54,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "drop_referenced_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "drop_referenced_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "drop_referenced_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "drop_referenced_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "drop_referenced_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   57,
				},
				File:   "drop_unused_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,old,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu-total,host.local\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest_nice,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,old,host\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_idle,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,old,host\n\"\ndrop_unused = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_measurement\"])\n    |> filter(fn: (r) => r._field == \"usage_guest\")\n\ntest _drop_unused = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_unused})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "drop_unused_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "drop_unused_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "drop_unused_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "drop_unused_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "drop_unused_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "drop_unused_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "drop_unused_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "drop_unused_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   51,
					},
					File:   "drop_unused_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,old,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu-total,host.local\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest_nice,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,old,host\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_idle,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,old,host\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "drop_unused_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   51,
						},
						File:   "drop_unused_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,old,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu-total,host.local\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest_nice,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,old,host\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_idle,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,old,host\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,old,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu-total,host.local\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_guest_nice,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,old,host\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,,,usage_idle,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,old,host\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 52,
						Line:   55,
					},
					File:   "drop_unused_test.flux",
					Source: "drop_unused = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_measurement\"])\n    |> filter(fn: (r) => r._field == \"usage_guest\")",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   52,
						},
						File:   "drop_unused_test.flux",
						Source: "drop_unused",
						Start: ast.Position{
							Column: 1,
							Line:   52,
						},
					},
				},
				Name: "drop_unused",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 52,
							Line:   55,
						},
						File:   "drop_unused_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_measurement\"])\n    |> filter(fn: (r) => r._field == \"usage_guest\")",
						Start: ast.Position{
							Column: 15,
							Line:   52,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 34,
											Line:   52,
										},
										File:   "drop_unused_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 29,
											Line:   52,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   53,
									},
									File:   "drop_unused_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 29,
										Line:   52,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   53,
											},
											File:   "drop_unused_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   53,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   53,
												},
												File:   "drop_unused_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   53,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   53,
													},
													File:   "drop_unused_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   53,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   53,
													},
													File:   "drop_unused_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   53,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   53,
										},
										File:   "drop_unused_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   53,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   53,
											},
											File:   "drop_unused_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   53,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   54,
								},
								File:   "drop_unused_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_measurement\"])",
								Start: ast.Position{
									Column: 29,
									Line:   52,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   54,
										},
										File:   "drop_unused_test.flux",
										Source: "columns: [\"_measurement\"]",
										Start: ast.Position{
											Column: 13,
											Line:   54,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   54,
											},
											File:   "drop_unused_test.flux",
											Source: "columns: [\"_measurement\"]",
											Start: ast.Position{
												Column: 13,
												Line:   54,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   54,
												},
												File:   "drop_unused_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 13,
													Line:   54,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 38,
													Line:   54,
												},
												File:   "drop_unused_test.flux",
												Source: "[\"_measurement\"]",
												Start: ast.Position{
													Column: 22,
													Line:   54,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   54,
													},
													File:   "drop_unused_test.flux",
													Source: "\"_measurement\"",
													Start: ast.Position{
														Column: 23,
														Line:   54,
													},
												},
											},
											Value: "_measurement",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   54,
									},
									File:   "drop_unused_test.flux",
									Source: "drop(columns: [\"_measurement\"])",
									Start: ast.Position{
										Column: 8,
										Line:   54,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   54,
										},
										File:   "drop_unused_test.flux",
										Source: "drop",
										Start: ast.Position{
											Column: 8,
											Line:   54,
										},
									},
								},
								Name: "drop",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 52,
								Line:   55,
							},
							File:   "drop_unused_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> drop(columns: [\"_measurement\"])\n    |> filter(fn: (r) => r._field == \"usage_guest\")",
							Start: ast.Position{
								Column: 29,
								Line:   52,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 51,
										Line:   55,
									},
									File:   "drop_unused_test.flux",
									Source: "fn: (r) => r._field == \"usage_guest\"",
									Start: ast.Position{
										Column: 15,
										Line:   55,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 51,
											Line:   55,
										},
										File:   "drop_unused_test.flux",
										Source: "fn: (r) => r._field == \"usage_guest\"",
										Start: ast.Position{
											Column: 15,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   55,
											},
											File:   "drop_unused_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   55,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   55,
											},
											File:   "drop_unused_test.flux",
											Source: "(r) => r._field == \"usage_guest\"",
											Start: ast.Position{
												Column: 19,
												Line:   55,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   55,
												},
												File:   "drop_unused_test.flux",
												Source: "r._field == \"usage_guest\"",
												Start: ast.Position{
													Column: 26,
													Line:   55,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   55,
													},
													File:   "drop_unused_test.flux",
													Source: "r._field",
													Start: ast.Position{
														Column: 26,
														Line:   55,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   55,
														},
														File:   "drop_unused_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   55,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   55,
														},
														File:   "drop_unused_test.flux",
														Source: "_field",
														Start: ast.Position{
															Column: 28,
															Line:   55,
														},
													},
												},
												Name: "_field",
											},
											Rbrack: nil,
										},
										Operator: 17,
										Right: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   55,
													},
													File:   "drop_unused_test.flux",
													Source: "\"usage_guest\"",
													Start: ast.Position{
														Column: 38,
														Line:   55,
													},
												},
											},
											Value: "usage_guest",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   55,
												},
												File:   "drop_unused_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   55,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   55,
													},
													File:   "drop_unused_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   55,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 52,
									Line:   55,
								},
								File:   "drop_unused_test.flux",
								Source: "filter(fn: (r) => r._field == \"usage_guest\")",
								Start: ast.Position{
									Column: 8,
									Line:   55,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   55,
									},
									File:   "drop_unused_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   55,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   52,
							},
							File:   "drop_unused_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   52,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   52,
								},
								File:   "drop_unused_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   52,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   52,
							},
							File:   "drop_unused_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   52,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   57,
						},
						File:   "drop_unused_test.flux",
						Source: "_drop_unused = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_unused})",
						Start: ast.Position{
							Column: 6,
							Line:   57,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   57,
							},
							File:   "drop_unused_test.flux",
							Source: "_drop_unused",
							Start: ast.Position{
								Column: 6,
								Line:   57,
							},
						},
					},
					Name: "_drop_unused",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   57,
							},
							File:   "drop_unused_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_unused})",
							Start: ast.Position{
								Column: 21,
								Line:   57,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   57,
								},
								File:   "drop_unused_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_unused})",
								Start: ast.Position{
									Column: 27,
									Line:   57,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   57,
									},
									File:   "drop_unused_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_unused}",
									Start: ast.Position{
										Column: 28,
										Line:   57,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   57,
										},
										File:   "drop_unused_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 29,
											Line:   57,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   57,
											},
											File:   "drop_unused_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 29,
												Line:   57,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   57,
												},
												File:   "drop_unused_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 56,
													Line:   57,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   57,
													},
													File:   "drop_unused_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 56,
														Line:   57,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   57,
														},
														File:   "drop_unused_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 56,
															Line:   57,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   57,
														},
														File:   "drop_unused_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 61,
															Line:   57,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   57,
											},
											File:   "drop_unused_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 36,
												Line:   57,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   57,
												},
												File:   "drop_unused_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 36,
													Line:   57,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   57,
													},
													File:   "drop_unused_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 36,
														Line:   57,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   57,
													},
													File:   "drop_unused_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 44,
														Line:   57,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 105,
											Line:   57,
										},
										File:   "drop_unused_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 70,
											Line:   57,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   57,
											},
											File:   "drop_unused_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 70,
												Line:   57,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   57,
												},
												File:   "drop_unused_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 92,
													Line:   57,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   57,
													},
													File:   "drop_unused_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 92,
														Line:   57,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 95,
															Line:   57,
														},
														File:   "drop_unused_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 92,
															Line:   57,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 104,
															Line:   57,
														},
														File:   "drop_unused_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 97,
															Line:   57,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   57,
											},
											File:   "drop_unused_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 76,
												Line:   57,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 91,
													Line:   57,
												},
												File:   "drop_unused_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 76,
													Line:   57,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   57,
													},
													File:   "drop_unused_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 76,
														Line:   57,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   57,
													},
													File:   "drop_unused_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 84,
														Line:   57,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   57,
										},
										File:   "drop_unused_test.flux",
										Source: "fn: drop_unused",
										Start: ast.Position{
											Column: 107,
											Line:   57,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   57,
											},
											File:   "drop_unused_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 107,
												Line:   57,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   57,
											},
											File:   "drop_unused_test.flux",
											Source: "drop_unused",
											Start: ast.Position{
												Column: 111,
												Line:   57,
											},
										},
									},
									Name: "drop_unused",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   57,
					},
					File:   "drop_unused_test.flux",
					Source: "test _drop_unused = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: drop_unused})",
					Start: ast.Position{
						Column: 1,
						Line:   57,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "drop_unused_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "drop_unused_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "drop_unused_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "drop_unused_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "drop_unused_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 122,
					Line:   48,
				},
				File:   "duplicate_overwrite_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total1,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,host.local,host.local\n\"\nt_duplicate = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> duplicate(column: \"host\", as: \"cpu\")\n\ntest _duplicate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "duplicate_overwrite_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "duplicate_overwrite_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "duplicate_overwrite_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "duplicate_overwrite_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "duplicate_overwrite_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total1,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total1,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total1,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total1,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "duplicate_overwrite_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,host.local,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,host.local,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,host.local,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 44,
						Line:   46,
					},
					File:   "duplicate_overwrite_test.flux",
					Source: "t_duplicate = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> duplicate(column: \"host\", as: \"cpu\")",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   44,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "t_duplicate",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_duplicate",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 44,
							Line:   46,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> duplicate(column: \"host\", as: \"cpu\")",
						Start: ast.Position{
							Column: 15,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   44,
									},
									File:   "duplicate_overwrite_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 29,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "duplicate_overwrite_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 29,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "duplicate_overwrite_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "duplicate_overwrite_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "duplicate_overwrite_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "duplicate_overwrite_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "duplicate_overwrite_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 44,
								Line:   46,
							},
							File:   "duplicate_overwrite_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> duplicate(column: \"host\", as: \"cpu\")",
							Start: ast.Position{
								Column: 29,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   46,
									},
									File:   "duplicate_overwrite_test.flux",
									Source: "column: \"host\", as: \"cpu\"",
									Start: ast.Position{
										Column: 18,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   46,
										},
										File:   "duplicate_overwrite_test.flux",
										Source: "column: \"host\"",
										Start: ast.Position{
											Column: 18,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   46,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "column",
											Start: ast.Position{
												Column: 18,
												Line:   46,
											},
										},
									},
									Name: "column",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   46,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "\"host\"",
											Start: ast.Position{
												Column: 26,
												Line:   46,
											},
										},
									},
									Value: "host",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 43,
											Line:   46,
										},
										File:   "duplicate_overwrite_test.flux",
										Source: "as: \"cpu\"",
										Start: ast.Position{
											Column: 34,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   46,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "as",
											Start: ast.Position{
												Column: 34,
												Line:   46,
											},
										},
									},
									Name: "as",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   46,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "\"cpu\"",
											Start: ast.Position{
												Column: 38,
												Line:   46,
											},
										},
									},
									Value: "cpu",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 44,
									Line:   46,
								},
								File:   "duplicate_overwrite_test.flux",
								Source: "duplicate(column: \"host\", as: \"cpu\")",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   46,
									},
									File:   "duplicate_overwrite_test.flux",
									Source: "duplicate",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "duplicate",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   44,
							},
							File:   "duplicate_overwrite_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   44,
								},
								File:   "duplicate_overwrite_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   44,
							},
							File:   "duplicate_overwrite_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 122,
							Line:   48,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "_duplicate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   48,
							},
							File:   "duplicate_overwrite_test.flux",
							Source: "_duplicate",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_duplicate",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 122,
								Line:   48,
							},
							File:   "duplicate_overwrite_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
							Start: ast.Position{
								Column: 19,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 122,
									Line:   48,
								},
								File:   "duplicate_overwrite_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
								Start: ast.Position{
									Column: 25,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 121,
										Line:   48,
									},
									File:   "duplicate_overwrite_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate}",
									Start: ast.Position{
										Column: 26,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 66,
											Line:   48,
										},
										File:   "duplicate_overwrite_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 27,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   48,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 27,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   48,
												},
												File:   "duplicate_overwrite_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 54,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   48,
													},
													File:   "duplicate_overwrite_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 54,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   48,
														},
														File:   "duplicate_overwrite_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 54,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   48,
														},
														File:   "duplicate_overwrite_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 59,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   48,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 34,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   48,
												},
												File:   "duplicate_overwrite_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 34,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   48,
													},
													File:   "duplicate_overwrite_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 34,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   48,
													},
													File:   "duplicate_overwrite_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 42,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   48,
										},
										File:   "duplicate_overwrite_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 68,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   48,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 68,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   48,
												},
												File:   "duplicate_overwrite_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 90,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   48,
													},
													File:   "duplicate_overwrite_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 90,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 93,
															Line:   48,
														},
														File:   "duplicate_overwrite_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 90,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   48,
														},
														File:   "duplicate_overwrite_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 95,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   48,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 74,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   48,
												},
												File:   "duplicate_overwrite_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 74,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   48,
													},
													File:   "duplicate_overwrite_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 74,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   48,
													},
													File:   "duplicate_overwrite_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 82,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 120,
											Line:   48,
										},
										File:   "duplicate_overwrite_test.flux",
										Source: "fn: t_duplicate",
										Start: ast.Position{
											Column: 105,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   48,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 105,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   48,
											},
											File:   "duplicate_overwrite_test.flux",
											Source: "t_duplicate",
											Start: ast.Position{
												Column: 109,
												Line:   48,
											},
										},
									},
									Name: "t_duplicate",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 122,
						Line:   48,
					},
					File:   "duplicate_overwrite_test.flux",
					Source: "test _duplicate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "duplicate_overwrite_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "duplicate_overwrite_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "duplicate_overwrite_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "duplicate_overwrite_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 122,
					Line:   48,
				},
				File:   "duplicate_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,false\n#default,_result,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host,host_new\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n\"\nt_duplicate = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> duplicate(column: \"host\", as: \"host_new\")\n\ntest _duplicate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "duplicate_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "duplicate_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "duplicate_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "duplicate_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "duplicate_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "duplicate_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "duplicate_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "duplicate_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "duplicate_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,false\n#default,_result,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host,host_new\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "duplicate_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "duplicate_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,false\n#default,_result,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host,host_new\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,false\n#default,_result,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host,host_new\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 49,
						Line:   46,
					},
					File:   "duplicate_test.flux",
					Source: "t_duplicate = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> duplicate(column: \"host\", as: \"host_new\")",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   44,
						},
						File:   "duplicate_test.flux",
						Source: "t_duplicate",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_duplicate",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 49,
							Line:   46,
						},
						File:   "duplicate_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> duplicate(column: \"host\", as: \"host_new\")",
						Start: ast.Position{
							Column: 15,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   44,
									},
									File:   "duplicate_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 29,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "duplicate_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 29,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "duplicate_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "duplicate_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "duplicate_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "duplicate_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "duplicate_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "duplicate_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 49,
								Line:   46,
							},
							File:   "duplicate_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> duplicate(column: \"host\", as: \"host_new\")",
							Start: ast.Position{
								Column: 29,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   46,
									},
									File:   "duplicate_test.flux",
									Source: "column: \"host\", as: \"host_new\"",
									Start: ast.Position{
										Column: 18,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   46,
										},
										File:   "duplicate_test.flux",
										Source: "column: \"host\"",
										Start: ast.Position{
											Column: 18,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   46,
											},
											File:   "duplicate_test.flux",
											Source: "column",
											Start: ast.Position{
												Column: 18,
												Line:   46,
											},
										},
									},
									Name: "column",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   46,
											},
											File:   "duplicate_test.flux",
											Source: "\"host\"",
											Start: ast.Position{
												Column: 26,
												Line:   46,
											},
										},
									},
									Value: "host",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   46,
										},
										File:   "duplicate_test.flux",
										Source: "as: \"host_new\"",
										Start: ast.Position{
											Column: 34,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   46,
											},
											File:   "duplicate_test.flux",
											Source: "as",
											Start: ast.Position{
												Column: 34,
												Line:   46,
											},
										},
									},
									Name: "as",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   46,
											},
											File:   "duplicate_test.flux",
											Source: "\"host_new\"",
											Start: ast.Position{
												Column: 38,
												Line:   46,
											},
										},
									},
									Value: "host_new",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   46,
								},
								File:   "duplicate_test.flux",
								Source: "duplicate(column: \"host\", as: \"host_new\")",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   46,
									},
									File:   "duplicate_test.flux",
									Source: "duplicate",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "duplicate",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   44,
							},
							File:   "duplicate_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   44,
								},
								File:   "duplicate_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   44,
							},
							File:   "duplicate_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 122,
							Line:   48,
						},
						File:   "duplicate_test.flux",
						Source: "_duplicate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   48,
							},
							File:   "duplicate_test.flux",
							Source: "_duplicate",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_duplicate",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 122,
								Line:   48,
							},
							File:   "duplicate_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
							Start: ast.Position{
								Column: 19,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 122,
									Line:   48,
								},
								File:   "duplicate_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
								Start: ast.Position{
									Column: 25,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 121,
										Line:   48,
									},
									File:   "duplicate_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate}",
									Start: ast.Position{
										Column: 26,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 66,
											Line:   48,
										},
										File:   "duplicate_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 27,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   48,
											},
											File:   "duplicate_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 27,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   48,
												},
												File:   "duplicate_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 54,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   48,
													},
													File:   "duplicate_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 54,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   48,
														},
														File:   "duplicate_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 54,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   48,
														},
														File:   "duplicate_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 59,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   48,
											},
											File:   "duplicate_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 34,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   48,
												},
												File:   "duplicate_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 34,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   48,
													},
													File:   "duplicate_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 34,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   48,
													},
													File:   "duplicate_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 42,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   48,
										},
										File:   "duplicate_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 68,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   48,
											},
											File:   "duplicate_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 68,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   48,
												},
												File:   "duplicate_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 90,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   48,
													},
													File:   "duplicate_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 90,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 93,
															Line:   48,
														},
														File:   "duplicate_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 90,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   48,
														},
														File:   "duplicate_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 95,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   48,
											},
											File:   "duplicate_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 74,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   48,
												},
												File:   "duplicate_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 74,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   48,
													},
													File:   "duplicate_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 74,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   48,
													},
													File:   "duplicate_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 82,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 120,
											Line:   48,
										},
										File:   "duplicate_test.flux",
										Source: "fn: t_duplicate",
										Start: ast.Position{
											Column: 105,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   48,
											},
											File:   "duplicate_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 105,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   48,
											},
											File:   "duplicate_test.flux",
											Source: "t_duplicate",
											Start: ast.Position{
												Column: 109,
												Line:   48,
											},
										},
									},
									Name: "t_duplicate",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 122,
						Line:   48,
					},
					File:   "duplicate_test.flux",
					Source: "test _duplicate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_duplicate})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "duplicate_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "duplicate_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "duplicate_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "duplicate_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "duplicate_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   38,
				},
				File:   "dynamic_query_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,f1\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,f1\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,f1\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,f1\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,1,RAM,user1,f1\n\"\nt_dynamic = (table=<-) => {\n    r = table |> range(start: 2018-05-22T19:53:26Z) |> drop(columns: [\"_start\", \"_stop\"])\n    t = r |> tableFind(fn: (key) => key._measurement == \"CPU\")\n    users = t |> getColumn(column: \"user\")\n\n    // This is a dynamic query, because this query uses the results of another one.\n    return r |> filter(fn: (r) => contains(value: r.user, set: users))\n}\n\ntest _dynamic_query = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_dynamic})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "dynamic_query_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "dynamic_query_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "dynamic_query_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "dynamic_query_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "dynamic_query_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "dynamic_query_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,f1\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,f1\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,f1\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,f1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "dynamic_query_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "dynamic_query_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,f1\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,f1\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,f1\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,f1\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,f1\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,f1\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,f1\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,f1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   28,
					},
					File:   "dynamic_query_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,1,RAM,user1,f1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "dynamic_query_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   28,
						},
						File:   "dynamic_query_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,1,RAM,user1,f1\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,f1\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,f1\n,,1,2018-05-22T19:53:26Z,1,RAM,user1,f1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   36,
					},
					File:   "dynamic_query_test.flux",
					Source: "t_dynamic = (table=<-) => {\n    r = table |> range(start: 2018-05-22T19:53:26Z) |> drop(columns: [\"_start\", \"_stop\"])\n    t = r |> tableFind(fn: (key) => key._measurement == \"CPU\")\n    users = t |> getColumn(column: \"user\")\n\n    // This is a dynamic query, because this query uses the results of another one.\n    return r |> filter(fn: (r) => contains(value: r.user, set: users))\n}",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   29,
						},
						File:   "dynamic_query_test.flux",
						Source: "t_dynamic",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "t_dynamic",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   36,
						},
						File:   "dynamic_query_test.flux",
						Source: "(table=<-) => {\n    r = table |> range(start: 2018-05-22T19:53:26Z) |> drop(columns: [\"_start\", \"_stop\"])\n    t = r |> tableFind(fn: (key) => key._measurement == \"CPU\")\n    users = t |> getColumn(column: \"user\")\n\n    // This is a dynamic query, because this query uses the results of another one.\n    return r |> filter(fn: (r) => contains(value: r.user, set: users))\n}",
						Start: ast.Position{
							Column: 13,
							Line:   29,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   36,
							},
							File:   "dynamic_query_test.flux",
							Source: "{\n    r = table |> range(start: 2018-05-22T19:53:26Z) |> drop(columns: [\"_start\", \"_stop\"])\n    t = r |> tableFind(fn: (key) => key._measurement == \"CPU\")\n    users = t |> getColumn(column: \"user\")\n\n    // This is a dynamic query, because this query uses the results of another one.\n    return r |> filter(fn: (r) => contains(value: r.user, set: users))\n}",
							Start: ast.Position{
								Column: 27,
								Line:   29,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 90,
									Line:   30,
								},
								File:   "dynamic_query_test.flux",
								Source: "r = table |> range(start: 2018-05-22T19:53:26Z) |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 5,
									Line:   30,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 6,
										Line:   30,
									},
									File:   "dynamic_query_test.flux",
									Source: "r",
									Start: ast.Position{
										Column: 5,
										Line:   30,
									},
								},
							},
							Name: "r",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   30,
											},
											File:   "dynamic_query_test.flux",
											Source: "table",
											Start: ast.Position{
												Column: 9,
												Line:   30,
											},
										},
									},
									Name: "table",
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 52,
											Line:   30,
										},
										File:   "dynamic_query_test.flux",
										Source: "table |> range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 9,
											Line:   30,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   30,
												},
												File:   "dynamic_query_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 24,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   30,
													},
													File:   "dynamic_query_test.flux",
													Source: "start: 2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 24,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 29,
															Line:   30,
														},
														File:   "dynamic_query_test.flux",
														Source: "start",
														Start: ast.Position{
															Column: 24,
															Line:   30,
														},
													},
												},
												Name: "start",
											},
											Separator: nil,
											Value: &ast.DateTimeLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   30,
														},
														File:   "dynamic_query_test.flux",
														Source: "2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 31,
															Line:   30,
														},
													},
												},
												Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   30,
											},
											File:   "dynamic_query_test.flux",
											Source: "range(start: 2018-05-22T19:53:26Z)",
											Start: ast.Position{
												Column: 18,
												Line:   30,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 23,
													Line:   30,
												},
												File:   "dynamic_query_test.flux",
												Source: "range",
												Start: ast.Position{
													Column: 18,
													Line:   30,
												},
											},
										},
										Name: "range",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 90,
										Line:   30,
									},
									File:   "dynamic_query_test.flux",
									Source: "table |> range(start: 2018-05-22T19:53:26Z) |> drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 9,
										Line:   30,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 89,
												Line:   30,
											},
											File:   "dynamic_query_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 61,
												Line:   30,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   30,
												},
												File:   "dynamic_query_test.flux",
												Source: "columns: [\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 61,
													Line:   30,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   30,
													},
													File:   "dynamic_query_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 61,
														Line:   30,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   30,
													},
													File:   "dynamic_query_test.flux",
													Source: "[\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 70,
														Line:   30,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 79,
															Line:   30,
														},
														File:   "dynamic_query_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 71,
															Line:   30,
														},
													},
												},
												Value: "_start",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   30,
														},
														File:   "dynamic_query_test.flux",
														Source: "\"_stop\"",
														Start: ast.Position{
															Column: 81,
															Line:   30,
														},
													},
												},
												Value: "_stop",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 90,
											Line:   30,
										},
										File:   "dynamic_query_test.flux",
										Source: "drop(columns: [\"_start\", \"_stop\"])",
										Start: ast.Position{
											Column: 56,
											Line:   30,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   30,
											},
											File:   "dynamic_query_test.flux",
											Source: "drop",
											Start: ast.Position{
												Column: 56,
												Line:   30,
											},
										},
									},
									Name: "drop",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 63,
									Line:   31,
								},
								File:   "dynamic_query_test.flux",
								Source: "t = r |> tableFind(fn: (key) => key._measurement == \"CPU\")",
								Start: ast.Position{
									Column: 5,
									Line:   31,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 6,
										Line:   31,
									},
									File:   "dynamic_query_test.flux",
									Source: "t",
									Start: ast.Position{
										Column: 5,
										Line:   31,
									},
								},
							},
							Name: "t",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   31,
										},
										File:   "dynamic_query_test.flux",
										Source: "r",
										Start: ast.Position{
											Column: 9,
											Line:   31,
										},
									},
								},
								Name: "r",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 63,
										Line:   31,
									},
									File:   "dynamic_query_test.flux",
									Source: "r |> tableFind(fn: (key) => key._measurement == \"CPU\")",
									Start: ast.Position{
										Column: 9,
										Line:   31,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   31,
											},
											File:   "dynamic_query_test.flux",
											Source: "fn: (key) => key._measurement == \"CPU\"",
											Start: ast.Position{
												Column: 24,
												Line:   31,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   31,
												},
												File:   "dynamic_query_test.flux",
												Source: "fn: (key) => key._measurement == \"CPU\"",
												Start: ast.Position{
													Column: 24,
													Line:   31,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   31,
													},
													File:   "dynamic_query_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 24,
														Line:   31,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   31,
													},
													File:   "dynamic_query_test.flux",
													Source: "(key) => key._measurement == \"CPU\"",
													Start: ast.Position{
														Column: 28,
														Line:   31,
													},
												},
											},
											Body: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   31,
														},
														File:   "dynamic_query_test.flux",
														Source: "key._measurement == \"CPU\"",
														Start: ast.Position{
															Column: 37,
															Line:   31,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 53,
																Line:   31,
															},
															File:   "dynamic_query_test.flux",
															Source: "key._measurement",
															Start: ast.Position{
																Column: 37,
																Line:   31,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   31,
																},
																File:   "dynamic_query_test.flux",
																Source: "key",
																Start: ast.Position{
																	Column: 37,
																	Line:   31,
																},
															},
														},
														Name: "key",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 53,
																	Line:   31,
																},
																File:   "dynamic_query_test.flux",
																Source: "_measurement",
																Start: ast.Position{
																	Column: 41,
																	Line:   31,
																},
															},
														},
														Name: "_measurement",
													},
													Rbrack: nil,
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 62,
																Line:   31,
															},
															File:   "dynamic_query_test.flux",
															Source: "\"CPU\"",
															Start: ast.Position{
																Column: 57,
																Line:   31,
															},
														},
													},
													Value: "CPU",
												},
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 32,
															Line:   31,
														},
														File:   "dynamic_query_test.flux",
														Source: "key",
														Start: ast.Position{
															Column: 29,
															Line:   31,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 32,
																Line:   31,
															},
															File:   "dynamic_query_test.flux",
															Source: "key",
															Start: ast.Position{
																Column: 29,
																Line:   31,
															},
														},
													},
													Name: "key",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   31,
										},
										File:   "dynamic_query_test.flux",
										Source: "tableFind(fn: (key) => key._measurement == \"CPU\")",
										Start: ast.Position{
											Column: 14,
											Line:   31,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   31,
											},
											File:   "dynamic_query_test.flux",
											Source: "tableFind",
											Start: ast.Position{
												Column: 14,
												Line:   31,
											},
										},
									},
									Name: "tableFind",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 43,
									Line:   32,
								},
								File:   "dynamic_query_test.flux",
								Source: "users = t |> getColumn(column: \"user\")",
								Start: ast.Position{
									Column: 5,
									Line:   32,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   32,
									},
									File:   "dynamic_query_test.flux",
									Source: "users",
									Start: ast.Position{
										Column: 5,
										Line:   32,
									},
								},
							},
							Name: "users",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   32,
										},
										File:   "dynamic_query_test.flux",
										Source: "t",
										Start: ast.Position{
											Column: 13,
											Line:   32,
										},
									},
								},
								Name: "t",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   32,
									},
									File:   "dynamic_query_test.flux",
									Source: "t |> getColumn(column: \"user\")",
									Start: ast.Position{
										Column: 13,
										Line:   32,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   32,
											},
											File:   "dynamic_query_test.flux",
											Source: "column: \"user\"",
											Start: ast.Position{
												Column: 28,
												Line:   32,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   32,
												},
												File:   "dynamic_query_test.flux",
												Source: "column: \"user\"",
												Start: ast.Position{
													Column: 28,
													Line:   32,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   32,
													},
													File:   "dynamic_query_test.flux",
													Source: "column",
													Start: ast.Position{
														Column: 28,
														Line:   32,
													},
												},
											},
											Name: "column",
										},
										Separator: nil,
										Value: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   32,
													},
													File:   "dynamic_query_test.flux",
													Source: "\"user\"",
													Start: ast.Position{
														Column: 36,
														Line:   32,
													},
												},
											},
											Value: "user",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 43,
											Line:   32,
										},
										File:   "dynamic_query_test.flux",
										Source: "getColumn(column: \"user\")",
										Start: ast.Position{
											Column: 18,
											Line:   32,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   32,
											},
											File:   "dynamic_query_test.flux",
											Source: "getColumn",
											Start: ast.Position{
												Column: 18,
												Line:   32,
											},
										},
									},
									Name: "getColumn",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   35,
										},
										File:   "dynamic_query_test.flux",
										Source: "r",
										Start: ast.Position{
											Column: 12,
											Line:   35,
										},
									},
								},
								Name: "r",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 71,
										Line:   35,
									},
									File:   "dynamic_query_test.flux",
									Source: "r |> filter(fn: (r) => contains(value: r.user, set: users))",
									Start: ast.Position{
										Column: 12,
										Line:   35,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   35,
											},
											File:   "dynamic_query_test.flux",
											Source: "fn: (r) => contains(value: r.user, set: users)",
											Start: ast.Position{
												Column: 24,
												Line:   35,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   35,
												},
												File:   "dynamic_query_test.flux",
												Source: "fn: (r) => contains(value: r.user, set: users)",
												Start: ast.Position{
													Column: 24,
													Line:   35,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   35,
													},
													File:   "dynamic_query_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 24,
														Line:   35,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   35,
													},
													File:   "dynamic_query_test.flux",
													Source: "(r) => contains(value: r.user, set: users)",
													Start: ast.Position{
														Column: 28,
														Line:   35,
													},
												},
											},
											Body: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 69,
																Line:   35,
															},
															File:   "dynamic_query_test.flux",
															Source: "value: r.user, set: users",
															Start: ast.Position{
																Column: 44,
																Line:   35,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 57,
																	Line:   35,
																},
																File:   "dynamic_query_test.flux",
																Source: "value: r.user",
																Start: ast.Position{
																	Column: 44,
																	Line:   35,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 49,
																		Line:   35,
																	},
																	File:   "dynamic_query_test.flux",
																	Source: "value",
																	Start: ast.Position{
																		Column: 44,
																		Line:   35,
																	},
																},
															},
															Name: "value",
														},
														Separator: nil,
														Value: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 57,
																		Line:   35,
																	},
																	File:   "dynamic_query_test.flux",
																	Source: "r.user",
																	Start: ast.Position{
																		Column: 51,
																		Line:   35,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 52,
																			Line:   35,
																		},
																		File:   "dynamic_query_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 51,
																			Line:   35,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 57,
																			Line:   35,
																		},
																		File:   "dynamic_query_test.flux",
																		Source: "user",
																		Start: ast.Position{
																			Column: 53,
																			Line:   35,
																		},
																	},
																},
																Name: "user",
															},
															Rbrack: nil,
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 69,
																	Line:   35,
																},
																File:   "dynamic_query_test.flux",
																Source: "set: users",
																Start: ast.Position{
																	Column: 59,
																	Line:   35,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 62,
																		Line:   35,
																	},
																	File:   "dynamic_query_test.flux",
																	Source: "set",
																	Start: ast.Position{
																		Column: 59,
																		Line:   35,
																	},
																},
															},
															Name: "set",
														},
														Separator: nil,
														Value: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 69,
																		Line:   35,
																	},
																	File:   "dynamic_query_test.flux",
																	Source: "users",
																	Start: ast.Position{
																		Column: 64,
																		Line:   35,
																	},
																},
															},
															Name: "users",
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   35,
														},
														File:   "dynamic_query_test.flux",
														Source: "contains(value: r.user, set: users)",
														Start: ast.Position{
															Column: 35,
															Line:   35,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 43,
																Line:   35,
															},
															File:   "dynamic_query_test.flux",
															Source: "contains",
															Start: ast.Position{
																Column: 35,
																Line:   35,
															},
														},
													},
													Name: "contains",
												},
												Lparen: nil,
												Rparen: nil,
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   35,
														},
														File:   "dynamic_query_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 29,
															Line:   35,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 30,
																Line:   35,
															},
															File:   "dynamic_query_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 29,
																Line:   35,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   35,
										},
										File:   "dynamic_query_test.flux",
										Source: "filter(fn: (r) => contains(value: r.user, set: users))",
										Start: ast.Position{
											Column: 17,
											Line:   35,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   35,
											},
											File:   "dynamic_query_test.flux",
											Source: "filter",
											Start: ast.Position{
												Column: 17,
												Line:   35,
											},
										},
									},
									Name: "filter",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: []ast.Comment{ast.Comment{Text: "// This is a dynamic query, because this query uses the results of another one.\n"}},
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 71,
									Line:   35,
								},
								File:   "dynamic_query_test.flux",
								Source: "return r |> filter(fn: (r) => contains(value: r.user, set: users))",
								Start: ast.Position{
									Column: 5,
									Line:   35,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   29,
							},
							File:   "dynamic_query_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 14,
								Line:   29,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   29,
								},
								File:   "dynamic_query_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 14,
									Line:   29,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   29,
							},
							File:   "dynamic_query_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 20,
								Line:   29,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   38,
						},
						File:   "dynamic_query_test.flux",
						Source: "_dynamic_query = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_dynamic})",
						Start: ast.Position{
							Column: 6,
							Line:   38,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   38,
							},
							File:   "dynamic_query_test.flux",
							Source: "_dynamic_query",
							Start: ast.Position{
								Column: 6,
								Line:   38,
							},
						},
					},
					Name: "_dynamic_query",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   38,
							},
							File:   "dynamic_query_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_dynamic})",
							Start: ast.Position{
								Column: 23,
								Line:   38,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   38,
								},
								File:   "dynamic_query_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_dynamic})",
								Start: ast.Position{
									Column: 29,
									Line:   38,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   38,
									},
									File:   "dynamic_query_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_dynamic}",
									Start: ast.Position{
										Column: 30,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   38,
										},
										File:   "dynamic_query_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 31,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   38,
											},
											File:   "dynamic_query_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 31,
												Line:   38,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   38,
												},
												File:   "dynamic_query_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 58,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   38,
													},
													File:   "dynamic_query_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 58,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   38,
														},
														File:   "dynamic_query_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 58,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   38,
														},
														File:   "dynamic_query_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 63,
															Line:   38,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   38,
											},
											File:   "dynamic_query_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 38,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   38,
												},
												File:   "dynamic_query_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 38,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   38,
													},
													File:   "dynamic_query_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 38,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   38,
													},
													File:   "dynamic_query_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 46,
														Line:   38,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 107,
											Line:   38,
										},
										File:   "dynamic_query_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 72,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   38,
											},
											File:   "dynamic_query_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 72,
												Line:   38,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   38,
												},
												File:   "dynamic_query_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 94,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   38,
													},
													File:   "dynamic_query_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 94,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   38,
														},
														File:   "dynamic_query_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 94,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   38,
														},
														File:   "dynamic_query_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 99,
															Line:   38,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   38,
											},
											File:   "dynamic_query_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 78,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   38,
												},
												File:   "dynamic_query_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 78,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   38,
													},
													File:   "dynamic_query_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 78,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   38,
													},
													File:   "dynamic_query_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 86,
														Line:   38,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   38,
										},
										File:   "dynamic_query_test.flux",
										Source: "fn: t_dynamic",
										Start: ast.Position{
											Column: 109,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   38,
											},
											File:   "dynamic_query_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 109,
												Line:   38,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   38,
											},
											File:   "dynamic_query_test.flux",
											Source: "t_dynamic",
											Start: ast.Position{
												Column: 113,
												Line:   38,
											},
										},
									},
									Name: "t_dynamic",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   38,
					},
					File:   "dynamic_query_test.flux",
					Source: "test _dynamic_query = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_dynamic})",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "dynamic_query_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "dynamic_query_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "dynamic_query_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "dynamic_query_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "dynamic_query_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 125,
					Line:   41,
				},
				File:   "elapsed_median_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,34.98234271799806,active,mem\n,,0,2018-05-22T19:53:36Z,34.98234941084654,active,mem\n,,0,2018-05-22T19:53:46Z,34.982447293755506,active,mem\n,,0,2018-05-22T19:53:56Z,34.982447293755506,active,mem\n,,0,2018-05-22T19:54:06Z,34.98204153981662,active,mem\n,,0,2018-05-22T19:54:16Z,34.982252364543626,active,mem\n,,1,2018-05-22T19:53:26Z,34.98234271799806,f,m2\n,,1,2018-05-22T19:53:36Z,34.98234941084654,f,m2\n,,1,2018-05-22T19:53:46Z,34.982447293755506,f,m2\n,,1,2018-05-22T19:53:56Z,34.982447293755506,f,m2\n,,1,2018-05-22T19:54:06Z,34.98204153981662,f,m2\n,,1,2018-05-22T19:54:16Z,34.982252364543626,f,m2\n\"\noutData = \"\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,elapsed\n,,0,10\n\"\nt_elapsed = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> elapsed()\n    |> group()\n    |> map(fn: (r) => ({r with elapsed: float(v: r.elapsed)}))\n    |> median(column: \"elapsed\")\n\ntest _elapsed_median = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "elapsed_median_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "elapsed_median_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "elapsed_median_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "elapsed_median_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "elapsed_median_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "elapsed_median_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,34.98234271799806,active,mem\n,,0,2018-05-22T19:53:36Z,34.98234941084654,active,mem\n,,0,2018-05-22T19:53:46Z,34.982447293755506,active,mem\n,,0,2018-05-22T19:53:56Z,34.982447293755506,active,mem\n,,0,2018-05-22T19:54:06Z,34.98204153981662,active,mem\n,,0,2018-05-22T19:54:16Z,34.982252364543626,active,mem\n,,1,2018-05-22T19:53:26Z,34.98234271799806,f,m2\n,,1,2018-05-22T19:53:36Z,34.98234941084654,f,m2\n,,1,2018-05-22T19:53:46Z,34.982447293755506,f,m2\n,,1,2018-05-22T19:53:56Z,34.982447293755506,f,m2\n,,1,2018-05-22T19:54:06Z,34.98204153981662,f,m2\n,,1,2018-05-22T19:54:16Z,34.982252364543626,f,m2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "elapsed_median_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "elapsed_median_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,34.98234271799806,active,mem\n,,0,2018-05-22T19:53:36Z,34.98234941084654,active,mem\n,,0,2018-05-22T19:53:46Z,34.982447293755506,active,mem\n,,0,2018-05-22T19:53:56Z,34.982447293755506,active,mem\n,,0,2018-05-22T19:54:06Z,34.98204153981662,active,mem\n,,0,2018-05-22T19:54:16Z,34.982252364543626,active,mem\n,,1,2018-05-22T19:53:26Z,34.98234271799806,f,m2\n,,1,2018-05-22T19:53:36Z,34.98234941084654,f,m2\n,,1,2018-05-22T19:53:46Z,34.982447293755506,f,m2\n,,1,2018-05-22T19:53:56Z,34.982447293755506,f,m2\n,,1,2018-05-22T19:54:06Z,34.98204153981662,f,m2\n,,1,2018-05-22T19:54:16Z,34.982252364543626,f,m2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,34.98234271799806,active,mem\n,,0,2018-05-22T19:53:36Z,34.98234941084654,active,mem\n,,0,2018-05-22T19:53:46Z,34.982447293755506,active,mem\n,,0,2018-05-22T19:53:56Z,34.982447293755506,active,mem\n,,0,2018-05-22T19:54:06Z,34.98204153981662,active,mem\n,,0,2018-05-22T19:54:16Z,34.982252364543626,active,mem\n,,1,2018-05-22T19:53:26Z,34.98234271799806,f,m2\n,,1,2018-05-22T19:53:36Z,34.98234941084654,f,m2\n,,1,2018-05-22T19:53:46Z,34.982447293755506,f,m2\n,,1,2018-05-22T19:53:56Z,34.982447293755506,f,m2\n,,1,2018-05-22T19:54:06Z,34.98204153981662,f,m2\n,,1,2018-05-22T19:54:16Z,34.982252364543626,f,m2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   32,
					},
					File:   "elapsed_median_test.flux",
					Source: "outData = \"\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,elapsed\n,,0,10\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "elapsed_median_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   32,
						},
						File:   "elapsed_median_test.flux",
						Source: "\"\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,elapsed\n,,0,10\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,elapsed\n,,0,10\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 33,
						Line:   39,
					},
					File:   "elapsed_median_test.flux",
					Source: "t_elapsed = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> elapsed()\n    |> group()\n    |> map(fn: (r) => ({r with elapsed: float(v: r.elapsed)}))\n    |> median(column: \"elapsed\")",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   33,
						},
						File:   "elapsed_median_test.flux",
						Source: "t_elapsed",
						Start: ast.Position{
							Column: 1,
							Line:   33,
						},
					},
				},
				Name: "t_elapsed",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 33,
							Line:   39,
						},
						File:   "elapsed_median_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> elapsed()\n    |> group()\n    |> map(fn: (r) => ({r with elapsed: float(v: r.elapsed)}))\n    |> median(column: \"elapsed\")",
						Start: ast.Position{
							Column: 13,
							Line:   33,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 32,
														Line:   33,
													},
													File:   "elapsed_median_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 27,
														Line:   33,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   34,
												},
												File:   "elapsed_median_test.flux",
												Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
												Start: ast.Position{
													Column: 27,
													Line:   33,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   34,
														},
														File:   "elapsed_median_test.flux",
														Source: "start: 2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 14,
															Line:   34,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   34,
															},
															File:   "elapsed_median_test.flux",
															Source: "start: 2018-05-22T19:53:26Z",
															Start: ast.Position{
																Column: 14,
																Line:   34,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 19,
																	Line:   34,
																},
																File:   "elapsed_median_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 14,
																	Line:   34,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 41,
																	Line:   34,
																},
																File:   "elapsed_median_test.flux",
																Source: "2018-05-22T19:53:26Z",
																Start: ast.Position{
																	Column: 21,
																	Line:   34,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   34,
													},
													File:   "elapsed_median_test.flux",
													Source: "range(start: 2018-05-22T19:53:26Z)",
													Start: ast.Position{
														Column: 8,
														Line:   34,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 13,
															Line:   34,
														},
														File:   "elapsed_median_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 8,
															Line:   34,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   35,
											},
											File:   "elapsed_median_test.flux",
											Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")",
											Start: ast.Position{
												Column: 27,
												Line:   33,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   35,
													},
													File:   "elapsed_median_test.flux",
													Source: "fn: (r) => r._measurement == \"mem\" and r._field == \"active\"",
													Start: ast.Position{
														Column: 15,
														Line:   35,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   35,
														},
														File:   "elapsed_median_test.flux",
														Source: "fn: (r) => r._measurement == \"mem\" and r._field == \"active\"",
														Start: ast.Position{
															Column: 15,
															Line:   35,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   35,
															},
															File:   "elapsed_median_test.flux",
															Source: "fn",
															Start: ast.Position{
																Column: 15,
																Line:   35,
															},
														},
													},
													Name: "fn",
												},
												Separator: nil,
												Value: &ast.FunctionExpression{
													Arrow: nil,
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 74,
																Line:   35,
															},
															File:   "elapsed_median_test.flux",
															Source: "(r) => r._measurement == \"mem\" and r._field == \"active\"",
															Start: ast.Position{
																Column: 19,
																Line:   35,
															},
														},
													},
													Body: &ast.LogicalExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 74,
																	Line:   35,
																},
																File:   "elapsed_median_test.flux",
																Source: "r._measurement == \"mem\" and r._field == \"active\"",
																Start: ast.Position{
																	Column: 26,
																	Line:   35,
																},
															},
														},
														Left: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 49,
																		Line:   35,
																	},
																	File:   "elapsed_median_test.flux",
																	Source: "r._measurement == \"mem\"",
																	Start: ast.Position{
																		Column: 26,
																		Line:   35,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 40,
																			Line:   35,
																		},
																		File:   "elapsed_median_test.flux",
																		Source: "r._measurement",
																		Start: ast.Position{
																			Column: 26,
																			Line:   35,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 27,
																				Line:   35,
																			},
																			File:   "elapsed_median_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 26,
																				Line:   35,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 40,
																				Line:   35,
																			},
																			File:   "elapsed_median_test.flux",
																			Source: "_measurement",
																			Start: ast.Position{
																				Column: 28,
																				Line:   35,
																			},
																		},
																	},
																	Name: "_measurement",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 49,
																			Line:   35,
																		},
																		File:   "elapsed_median_test.flux",
																		Source: "\"mem\"",
																		Start: ast.Position{
																			Column: 44,
																			Line:   35,
																		},
																	},
																},
																Value: "mem",
															},
														},
														Operator: 1,
														Right: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 74,
																		Line:   35,
																	},
																	File:   "elapsed_median_test.flux",
																	Source: "r._field == \"active\"",
																	Start: ast.Position{
																		Column: 54,
																		Line:   35,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 62,
																			Line:   35,
																		},
																		File:   "elapsed_median_test.flux",
																		Source: "r._field",
																		Start: ast.Position{
																			Column: 54,
																			Line:   35,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 55,
																				Line:   35,
																			},
																			File:   "elapsed_median_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 54,
																				Line:   35,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 62,
																				Line:   35,
																			},
																			File:   "elapsed_median_test.flux",
																			Source: "_field",
																			Start: ast.Position{
																				Column: 56,
																				Line:   35,
																			},
																		},
																	},
																	Name: "_field",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 74,
																			Line:   35,
																		},
																		File:   "elapsed_median_test.flux",
																		Source: "\"active\"",
																		Start: ast.Position{
																			Column: 66,
																			Line:   35,
																		},
																	},
																},
																Value: "active",
															},
														},
													},
													Lparen: nil,
													Params: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 21,
																	Line:   35,
																},
																File:   "elapsed_median_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 20,
																	Line:   35,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 21,
																		Line:   35,
																	},
																	File:   "elapsed_median_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 20,
																		Line:   35,
																	},
																},
															},
															Name: "r",
														},
														Separator: nil,
														Value:     nil,
													}},
													Rparan: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 75,
													Line:   35,
												},
												File:   "elapsed_median_test.flux",
												Source: "filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")",
												Start: ast.Position{
													Column: 8,
													Line:   35,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 14,
														Line:   35,
													},
													File:   "elapsed_median_test.flux",
													Source: "filter",
													Start: ast.Position{
														Column: 8,
														Line:   35,
													},
												},
											},
											Name: "filter",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   36,
										},
										File:   "elapsed_median_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> elapsed()",
										Start: ast.Position{
											Column: 27,
											Line:   33,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   36,
											},
											File:   "elapsed_median_test.flux",
											Source: "elapsed()",
											Start: ast.Position{
												Column: 8,
												Line:   36,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   36,
												},
												File:   "elapsed_median_test.flux",
												Source: "elapsed",
												Start: ast.Position{
													Column: 8,
													Line:   36,
												},
											},
										},
										Name: "elapsed",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 15,
										Line:   37,
									},
									File:   "elapsed_median_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> elapsed()\n    |> group()",
									Start: ast.Position{
										Column: 27,
										Line:   33,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: nil,
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 15,
											Line:   37,
										},
										File:   "elapsed_median_test.flux",
										Source: "group()",
										Start: ast.Position{
											Column: 8,
											Line:   37,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   37,
											},
											File:   "elapsed_median_test.flux",
											Source: "group",
											Start: ast.Position{
												Column: 8,
												Line:   37,
											},
										},
									},
									Name: "group",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 63,
									Line:   38,
								},
								File:   "elapsed_median_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> elapsed()\n    |> group()\n    |> map(fn: (r) => ({r with elapsed: float(v: r.elapsed)}))",
								Start: ast.Position{
									Column: 27,
									Line:   33,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   38,
										},
										File:   "elapsed_median_test.flux",
										Source: "fn: (r) => ({r with elapsed: float(v: r.elapsed)})",
										Start: ast.Position{
											Column: 12,
											Line:   38,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   38,
											},
											File:   "elapsed_median_test.flux",
											Source: "fn: (r) => ({r with elapsed: float(v: r.elapsed)})",
											Start: ast.Position{
												Column: 12,
												Line:   38,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   38,
												},
												File:   "elapsed_median_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 12,
													Line:   38,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   38,
												},
												File:   "elapsed_median_test.flux",
												Source: "(r) => ({r with elapsed: float(v: r.elapsed)})",
												Start: ast.Position{
													Column: 16,
													Line:   38,
												},
											},
										},
										Body: &ast.ParenExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   38,
													},
													File:   "elapsed_median_test.flux",
													Source: "({r with elapsed: float(v: r.elapsed)})",
													Start: ast.Position{
														Column: 23,
														Line:   38,
													},
												},
											},
											Expression: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   38,
														},
														File:   "elapsed_median_test.flux",
														Source: "{r with elapsed: float(v: r.elapsed)}",
														Start: ast.Position{
															Column: 24,
															Line:   38,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 60,
																Line:   38,
															},
															File:   "elapsed_median_test.flux",
															Source: "elapsed: float(v: r.elapsed)",
															Start: ast.Position{
																Column: 32,
																Line:   38,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 39,
																	Line:   38,
																},
																File:   "elapsed_median_test.flux",
																Source: "elapsed",
																Start: ast.Position{
																	Column: 32,
																	Line:   38,
																},
															},
														},
														Name: "elapsed",
													},
													Separator: nil,
													Value: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 59,
																		Line:   38,
																	},
																	File:   "elapsed_median_test.flux",
																	Source: "v: r.elapsed",
																	Start: ast.Position{
																		Column: 47,
																		Line:   38,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 59,
																			Line:   38,
																		},
																		File:   "elapsed_median_test.flux",
																		Source: "v: r.elapsed",
																		Start: ast.Position{
																			Column: 47,
																			Line:   38,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 48,
																				Line:   38,
																			},
																			File:   "elapsed_median_test.flux",
																			Source: "v",
																			Start: ast.Position{
																				Column: 47,
																				Line:   38,
																			},
																		},
																	},
																	Name: "v",
																},
																Separator: nil,
																Value: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 59,
																				Line:   38,
																			},
																			File:   "elapsed_median_test.flux",
																			Source: "r.elapsed",
																			Start: ast.Position{
																				Column: 50,
																				Line:   38,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 51,
																					Line:   38,
																				},
																				File:   "elapsed_median_test.flux",
																				Source: "r",
																				Start: ast.Position{
																					Column: 50,
																					Line:   38,
																				},
																			},
																		},
																		Name: "r",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 59,
																					Line:   38,
																				},
																				File:   "elapsed_median_test.flux",
																				Source: "elapsed",
																				Start: ast.Position{
																					Column: 52,
																					Line:   38,
																				},
																			},
																		},
																		Name: "elapsed",
																	},
																	Rbrack: nil,
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 60,
																	Line:   38,
																},
																File:   "elapsed_median_test.flux",
																Source: "float(v: r.elapsed)",
																Start: ast.Position{
																	Column: 41,
																	Line:   38,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 46,
																		Line:   38,
																	},
																	File:   "elapsed_median_test.flux",
																	Source: "float",
																	Start: ast.Position{
																		Column: 41,
																		Line:   38,
																	},
																},
															},
															Name: "float",
														},
														Lparen: nil,
														Rparen: nil,
													},
												}},
												Rbrace: nil,
												With: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   38,
															},
															File:   "elapsed_median_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 25,
																Line:   38,
															},
														},
													},
													Name: "r",
												},
											},
											Lparen: nil,
											Rparen: nil,
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   38,
													},
													File:   "elapsed_median_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   38,
														},
														File:   "elapsed_median_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 17,
															Line:   38,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 63,
										Line:   38,
									},
									File:   "elapsed_median_test.flux",
									Source: "map(fn: (r) => ({r with elapsed: float(v: r.elapsed)}))",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   38,
										},
										File:   "elapsed_median_test.flux",
										Source: "map",
										Start: ast.Position{
											Column: 8,
											Line:   38,
										},
									},
								},
								Name: "map",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   39,
							},
							File:   "elapsed_median_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> elapsed()\n    |> group()\n    |> map(fn: (r) => ({r with elapsed: float(v: r.elapsed)}))\n    |> median(column: \"elapsed\")",
							Start: ast.Position{
								Column: 27,
								Line:   33,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 32,
										Line:   39,
									},
									File:   "elapsed_median_test.flux",
									Source: "column: \"elapsed\"",
									Start: ast.Position{
										Column: 15,
										Line:   39,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   39,
										},
										File:   "elapsed_median_test.flux",
										Source: "column: \"elapsed\"",
										Start: ast.Position{
											Column: 15,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   39,
											},
											File:   "elapsed_median_test.flux",
											Source: "column",
											Start: ast.Position{
												Column: 15,
												Line:   39,
											},
										},
									},
									Name: "column",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   39,
											},
											File:   "elapsed_median_test.flux",
											Source: "\"elapsed\"",
											Start: ast.Position{
												Column: 23,
												Line:   39,
											},
										},
									},
									Value: "elapsed",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   39,
								},
								File:   "elapsed_median_test.flux",
								Source: "median(column: \"elapsed\")",
								Start: ast.Position{
									Column: 8,
									Line:   39,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   39,
									},
									File:   "elapsed_median_test.flux",
									Source: "median",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Name: "median",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   33,
							},
							File:   "elapsed_median_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 14,
								Line:   33,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   33,
								},
								File:   "elapsed_median_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 14,
									Line:   33,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   33,
							},
							File:   "elapsed_median_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 20,
								Line:   33,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 125,
							Line:   41,
						},
						File:   "elapsed_median_test.flux",
						Source: "_elapsed_median = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
						Start: ast.Position{
							Column: 6,
							Line:   41,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   41,
							},
							File:   "elapsed_median_test.flux",
							Source: "_elapsed_median",
							Start: ast.Position{
								Column: 6,
								Line:   41,
							},
						},
					},
					Name: "_elapsed_median",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 125,
								Line:   41,
							},
							File:   "elapsed_median_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
							Start: ast.Position{
								Column: 24,
								Line:   41,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 125,
									Line:   41,
								},
								File:   "elapsed_median_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
								Start: ast.Position{
									Column: 30,
									Line:   41,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 124,
										Line:   41,
									},
									File:   "elapsed_median_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed}",
									Start: ast.Position{
										Column: 31,
										Line:   41,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   41,
										},
										File:   "elapsed_median_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   41,
											},
											File:   "elapsed_median_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   41,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   41,
												},
												File:   "elapsed_median_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   41,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   41,
													},
													File:   "elapsed_median_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   41,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   41,
														},
														File:   "elapsed_median_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   41,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   41,
														},
														File:   "elapsed_median_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   41,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   41,
											},
											File:   "elapsed_median_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   41,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   41,
												},
												File:   "elapsed_median_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   41,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   41,
													},
													File:   "elapsed_median_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   41,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   41,
													},
													File:   "elapsed_median_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   41,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   41,
										},
										File:   "elapsed_median_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   41,
											},
											File:   "elapsed_median_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   41,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   41,
												},
												File:   "elapsed_median_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   41,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   41,
													},
													File:   "elapsed_median_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   41,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   41,
														},
														File:   "elapsed_median_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   41,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   41,
														},
														File:   "elapsed_median_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   41,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   41,
											},
											File:   "elapsed_median_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   41,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   41,
												},
												File:   "elapsed_median_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   41,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   41,
													},
													File:   "elapsed_median_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   41,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   41,
													},
													File:   "elapsed_median_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   41,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 123,
											Line:   41,
										},
										File:   "elapsed_median_test.flux",
										Source: "fn: t_elapsed",
										Start: ast.Position{
											Column: 110,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   41,
											},
											File:   "elapsed_median_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   41,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   41,
											},
											File:   "elapsed_median_test.flux",
											Source: "t_elapsed",
											Start: ast.Position{
												Column: 114,
												Line:   41,
											},
										},
									},
									Name: "t_elapsed",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 125,
						Line:   41,
					},
					File:   "elapsed_median_test.flux",
					Source: "test _elapsed_median = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
					Start: ast.Position{
						Column: 1,
						Line:   41,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "elapsed_median_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "elapsed_median_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "elapsed_median_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "elapsed_median_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "elapsed_median_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 118,
					Line:   46,
				},
				File:   "elapsed_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path,elapsed\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/,10\n\"\nt_elapsed = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> elapsed()\n\ntest _elapsed = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "elapsed_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "elapsed_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "elapsed_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "elapsed_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "elapsed_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "elapsed_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "elapsed_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "elapsed_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "elapsed_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path,elapsed\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/,10\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "elapsed_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "elapsed_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path,elapsed\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/,10\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path,elapsed\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s2,apfs,host.local,/,10\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s2,apfs,host.local,/,10\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   44,
					},
					File:   "elapsed_test.flux",
					Source: "t_elapsed = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> elapsed()",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   42,
						},
						File:   "elapsed_test.flux",
						Source: "t_elapsed",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "t_elapsed",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   44,
						},
						File:   "elapsed_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> elapsed()",
						Start: ast.Position{
							Column: 13,
							Line:   42,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 32,
										Line:   42,
									},
									File:   "elapsed_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 27,
										Line:   42,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   43,
								},
								File:   "elapsed_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 27,
									Line:   42,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   43,
										},
										File:   "elapsed_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   43,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   43,
											},
											File:   "elapsed_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   43,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   43,
												},
												File:   "elapsed_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   43,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   43,
												},
												File:   "elapsed_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   43,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   43,
									},
									File:   "elapsed_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   43,
										},
										File:   "elapsed_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   43,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   44,
							},
							File:   "elapsed_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> elapsed()",
							Start: ast.Position{
								Column: 27,
								Line:   42,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   44,
								},
								File:   "elapsed_test.flux",
								Source: "elapsed()",
								Start: ast.Position{
									Column: 8,
									Line:   44,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 15,
										Line:   44,
									},
									File:   "elapsed_test.flux",
									Source: "elapsed",
									Start: ast.Position{
										Column: 8,
										Line:   44,
									},
								},
							},
							Name: "elapsed",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   42,
							},
							File:   "elapsed_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 14,
								Line:   42,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   42,
								},
								File:   "elapsed_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 14,
									Line:   42,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   42,
							},
							File:   "elapsed_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 20,
								Line:   42,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 118,
							Line:   46,
						},
						File:   "elapsed_test.flux",
						Source: "_elapsed = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
						Start: ast.Position{
							Column: 6,
							Line:   46,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   46,
							},
							File:   "elapsed_test.flux",
							Source: "_elapsed",
							Start: ast.Position{
								Column: 6,
								Line:   46,
							},
						},
					},
					Name: "_elapsed",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 118,
								Line:   46,
							},
							File:   "elapsed_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
							Start: ast.Position{
								Column: 17,
								Line:   46,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 118,
									Line:   46,
								},
								File:   "elapsed_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
								Start: ast.Position{
									Column: 23,
									Line:   46,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 117,
										Line:   46,
									},
									File:   "elapsed_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed}",
									Start: ast.Position{
										Column: 24,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 64,
											Line:   46,
										},
										File:   "elapsed_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 25,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   46,
											},
											File:   "elapsed_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 25,
												Line:   46,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   46,
												},
												File:   "elapsed_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 52,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   46,
													},
													File:   "elapsed_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 52,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 55,
															Line:   46,
														},
														File:   "elapsed_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 52,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   46,
														},
														File:   "elapsed_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 57,
															Line:   46,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 64,
												Line:   46,
											},
											File:   "elapsed_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 32,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   46,
												},
												File:   "elapsed_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 32,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   46,
													},
													File:   "elapsed_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 32,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   46,
													},
													File:   "elapsed_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 40,
														Line:   46,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 101,
											Line:   46,
										},
										File:   "elapsed_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 66,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   46,
											},
											File:   "elapsed_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 66,
												Line:   46,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 100,
													Line:   46,
												},
												File:   "elapsed_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 88,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 100,
														Line:   46,
													},
													File:   "elapsed_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 88,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 91,
															Line:   46,
														},
														File:   "elapsed_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 88,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   46,
														},
														File:   "elapsed_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 93,
															Line:   46,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   46,
											},
											File:   "elapsed_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 72,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 87,
													Line:   46,
												},
												File:   "elapsed_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 72,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 79,
														Line:   46,
													},
													File:   "elapsed_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 72,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   46,
													},
													File:   "elapsed_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 80,
														Line:   46,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   46,
										},
										File:   "elapsed_test.flux",
										Source: "fn: t_elapsed",
										Start: ast.Position{
											Column: 103,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   46,
											},
											File:   "elapsed_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 103,
												Line:   46,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   46,
											},
											File:   "elapsed_test.flux",
											Source: "t_elapsed",
											Start: ast.Position{
												Column: 107,
												Line:   46,
											},
										},
									},
									Name: "t_elapsed",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 118,
						Line:   46,
					},
					File:   "elapsed_test.flux",
					Source: "test _elapsed = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_elapsed})",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "elapsed_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "elapsed_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "elapsed_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "elapsed_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "elapsed_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 154,
					Line:   34,
				},
				File:   "exponential_moving_average_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:30Z,35,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:40Z,37.5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:50Z,38.75,used_percent,disk,disk1s1,apfs,host.local,/\n\"\nexponential_moving_average = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> exponentialMovingAverage(n: 3)\n\ntest _exponential_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: exponential_moving_average})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "exponential_moving_average_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "exponential_moving_average_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "exponential_moving_average_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "exponential_moving_average_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "exponential_moving_average_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "exponential_moving_average_test.flux",
					Source: "outData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:30Z,35,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:40Z,37.5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:50Z,38.75,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "\"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:30Z,35,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:40Z,37.5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:50Z,38.75,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:30Z,35,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:40Z,37.5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:00:50Z,38.75,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 38,
						Line:   32,
					},
					File:   "exponential_moving_average_test.flux",
					Source: "exponential_moving_average = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> exponentialMovingAverage(n: 3)",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 27,
							Line:   30,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "exponential_moving_average",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "exponential_moving_average",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 38,
							Line:   32,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> exponentialMovingAverage(n: 3)",
						Start: ast.Position{
							Column: 30,
							Line:   30,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 49,
										Line:   30,
									},
									File:   "exponential_moving_average_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 44,
										Line:   30,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   31,
								},
								File:   "exponential_moving_average_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
								Start: ast.Position{
									Column: 44,
									Line:   30,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   31,
										},
										File:   "exponential_moving_average_test.flux",
										Source: "start: 2018-05-22T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   31,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   31,
											},
											File:   "exponential_moving_average_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   31,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "exponential_moving_average_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   31,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   31,
												},
												File:   "exponential_moving_average_test.flux",
												Source: "2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   31,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   31,
									},
									File:   "exponential_moving_average_test.flux",
									Source: "range(start: 2018-05-22T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   31,
										},
										File:   "exponential_moving_average_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   31,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   32,
							},
							File:   "exponential_moving_average_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> exponentialMovingAverage(n: 3)",
							Start: ast.Position{
								Column: 44,
								Line:   30,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   32,
									},
									File:   "exponential_moving_average_test.flux",
									Source: "n: 3",
									Start: ast.Position{
										Column: 33,
										Line:   32,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   32,
										},
										File:   "exponential_moving_average_test.flux",
										Source: "n: 3",
										Start: ast.Position{
											Column: 33,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   32,
											},
											File:   "exponential_moving_average_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 33,
												Line:   32,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   32,
											},
											File:   "exponential_moving_average_test.flux",
											Source: "3",
											Start: ast.Position{
												Column: 36,
												Line:   32,
											},
										},
									},
									Value: int64(3),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 38,
									Line:   32,
								},
								File:   "exponential_moving_average_test.flux",
								Source: "exponentialMovingAverage(n: 3)",
								Start: ast.Position{
									Column: 8,
									Line:   32,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 32,
										Line:   32,
									},
									File:   "exponential_moving_average_test.flux",
									Source: "exponentialMovingAverage",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Name: "exponentialMovingAverage",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   30,
							},
							File:   "exponential_moving_average_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 31,
								Line:   30,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 36,
									Line:   30,
								},
								File:   "exponential_moving_average_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 31,
									Line:   30,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   30,
							},
							File:   "exponential_moving_average_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 37,
								Line:   30,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 154,
							Line:   34,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "_exponential_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: exponential_moving_average})",
						Start: ast.Position{
							Column: 6,
							Line:   34,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   34,
							},
							File:   "exponential_moving_average_test.flux",
							Source: "_exponential_moving_average",
							Start: ast.Position{
								Column: 6,
								Line:   34,
							},
						},
					},
					Name: "_exponential_moving_average",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 154,
								Line:   34,
							},
							File:   "exponential_moving_average_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: exponential_moving_average})",
							Start: ast.Position{
								Column: 36,
								Line:   34,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 154,
									Line:   34,
								},
								File:   "exponential_moving_average_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: exponential_moving_average})",
								Start: ast.Position{
									Column: 42,
									Line:   34,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 153,
										Line:   34,
									},
									File:   "exponential_moving_average_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: exponential_moving_average}",
									Start: ast.Position{
										Column: 43,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 83,
											Line:   34,
										},
										File:   "exponential_moving_average_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 44,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   34,
											},
											File:   "exponential_moving_average_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 44,
												Line:   34,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 82,
													Line:   34,
												},
												File:   "exponential_moving_average_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 71,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   34,
													},
													File:   "exponential_moving_average_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 71,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   34,
														},
														File:   "exponential_moving_average_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 71,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 82,
															Line:   34,
														},
														File:   "exponential_moving_average_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 76,
															Line:   34,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   34,
											},
											File:   "exponential_moving_average_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 51,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   34,
												},
												File:   "exponential_moving_average_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 51,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   34,
													},
													File:   "exponential_moving_average_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 51,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   34,
													},
													File:   "exponential_moving_average_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 59,
														Line:   34,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 120,
											Line:   34,
										},
										File:   "exponential_moving_average_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 85,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 89,
												Line:   34,
											},
											File:   "exponential_moving_average_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 85,
												Line:   34,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 119,
													Line:   34,
												},
												File:   "exponential_moving_average_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 107,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 119,
														Line:   34,
													},
													File:   "exponential_moving_average_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 107,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 110,
															Line:   34,
														},
														File:   "exponential_moving_average_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 107,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 119,
															Line:   34,
														},
														File:   "exponential_moving_average_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 112,
															Line:   34,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   34,
											},
											File:   "exponential_moving_average_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 91,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   34,
												},
												File:   "exponential_moving_average_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 91,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   34,
													},
													File:   "exponential_moving_average_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 91,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   34,
													},
													File:   "exponential_moving_average_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 99,
														Line:   34,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 152,
											Line:   34,
										},
										File:   "exponential_moving_average_test.flux",
										Source: "fn: exponential_moving_average",
										Start: ast.Position{
											Column: 122,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 124,
												Line:   34,
											},
											File:   "exponential_moving_average_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 122,
												Line:   34,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 152,
												Line:   34,
											},
											File:   "exponential_moving_average_test.flux",
											Source: "exponential_moving_average",
											Start: ast.Position{
												Column: 126,
												Line:   34,
											},
										},
									},
									Name: "exponential_moving_average",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 154,
						Line:   34,
					},
					File:   "exponential_moving_average_test.flux",
					Source: "test _exponential_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: exponential_moving_average})",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "exponential_moving_average_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "exponential_moving_average_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "exponential_moving_average_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "exponential_moving_average_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 117,
					Line:   48,
				},
				File:   "fill_bool_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,false\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,true\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,false\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,false\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,true\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,false\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,true\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,true\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,true\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,true\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,false\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,false\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,false\n\"\nt_fill_bool = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(value: false)\n\ntest _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_bool})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "fill_bool_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "fill_bool_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "fill_bool_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "fill_bool_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "fill_bool_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "fill_bool_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,false\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,true\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,false\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,false\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,true\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,false\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,true\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,true\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,true\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "fill_bool_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "fill_bool_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,false\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,true\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,false\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,false\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,true\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,false\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,true\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,true\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,true\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,false\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,true\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,false\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,false\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,true\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,false\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,true\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,true\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,true\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "fill_bool_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,true\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,false\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,false\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,false\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "fill_bool_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "fill_bool_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,true\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,false\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,false\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,false\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,true\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,false\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,false\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,false\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,true\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,false\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 26,
						Line:   46,
					},
					File:   "fill_bool_test.flux",
					Source: "t_fill_bool = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(value: false)",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   44,
						},
						File:   "fill_bool_test.flux",
						Source: "t_fill_bool",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_fill_bool",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 26,
							Line:   46,
						},
						File:   "fill_bool_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(value: false)",
						Start: ast.Position{
							Column: 15,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   44,
									},
									File:   "fill_bool_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 29,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "fill_bool_test.flux",
								Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)",
								Start: ast.Position{
									Column: 29,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "fill_bool_test.flux",
										Source: "start: 2018-12-15T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "fill_bool_test.flux",
											Source: "start: 2018-12-15T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "fill_bool_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "fill_bool_test.flux",
												Source: "2018-12-15T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-15T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "fill_bool_test.flux",
									Source: "range(start: 2018-12-15T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "fill_bool_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   46,
							},
							File:   "fill_bool_test.flux",
							Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(value: false)",
							Start: ast.Position{
								Column: 29,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   46,
									},
									File:   "fill_bool_test.flux",
									Source: "value: false",
									Start: ast.Position{
										Column: 13,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   46,
										},
										File:   "fill_bool_test.flux",
										Source: "value: false",
										Start: ast.Position{
											Column: 13,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   46,
											},
											File:   "fill_bool_test.flux",
											Source: "value",
											Start: ast.Position{
												Column: 13,
												Line:   46,
											},
										},
									},
									Name: "value",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   46,
											},
											File:   "fill_bool_test.flux",
											Source: "false",
											Start: ast.Position{
												Column: 20,
												Line:   46,
											},
										},
									},
									Name: "false",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   46,
								},
								File:   "fill_bool_test.flux",
								Source: "fill(value: false)",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   46,
									},
									File:   "fill_bool_test.flux",
									Source: "fill",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "fill",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   44,
							},
							File:   "fill_bool_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   44,
								},
								File:   "fill_bool_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   44,
							},
							File:   "fill_bool_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 117,
							Line:   48,
						},
						File:   "fill_bool_test.flux",
						Source: "_fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_bool})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   48,
							},
							File:   "fill_bool_test.flux",
							Source: "_fill",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_fill",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 117,
								Line:   48,
							},
							File:   "fill_bool_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_bool})",
							Start: ast.Position{
								Column: 14,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 117,
									Line:   48,
								},
								File:   "fill_bool_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_bool})",
								Start: ast.Position{
									Column: 20,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 116,
										Line:   48,
									},
									File:   "fill_bool_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_bool}",
									Start: ast.Position{
										Column: 21,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   48,
										},
										File:   "fill_bool_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   48,
											},
											File:   "fill_bool_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   48,
												},
												File:   "fill_bool_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   48,
													},
													File:   "fill_bool_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   48,
														},
														File:   "fill_bool_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   48,
														},
														File:   "fill_bool_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   48,
											},
											File:   "fill_bool_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   48,
												},
												File:   "fill_bool_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   48,
													},
													File:   "fill_bool_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   48,
													},
													File:   "fill_bool_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   48,
										},
										File:   "fill_bool_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   48,
											},
											File:   "fill_bool_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   48,
												},
												File:   "fill_bool_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   48,
													},
													File:   "fill_bool_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   48,
														},
														File:   "fill_bool_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   48,
														},
														File:   "fill_bool_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   48,
											},
											File:   "fill_bool_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   48,
												},
												File:   "fill_bool_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   48,
													},
													File:   "fill_bool_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   48,
													},
													File:   "fill_bool_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 115,
											Line:   48,
										},
										File:   "fill_bool_test.flux",
										Source: "fn: t_fill_bool",
										Start: ast.Position{
											Column: 100,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   48,
											},
											File:   "fill_bool_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   48,
											},
											File:   "fill_bool_test.flux",
											Source: "t_fill_bool",
											Start: ast.Position{
												Column: 104,
												Line:   48,
											},
										},
									},
									Name: "t_fill_bool",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 117,
						Line:   48,
					},
					File:   "fill_bool_test.flux",
					Source: "test _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_bool})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "fill_bool_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "fill_bool_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "fill_bool_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "fill_bool_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "fill_bool_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 118,
					Line:   48,
				},
				File:   "fill_float_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,114.285955884979\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,49.460104214779086\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,34.319039251798635\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,41.91029522104053\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,0.01\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,114.285955884979\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,0.01\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,49.460104214779086\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,34.319039251798635\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,0.01\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,41.91029522104053\n\"\nt_fill_float = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(value: 0.01)\n\ntest _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "fill_float_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "fill_float_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "fill_float_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "fill_float_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "fill_float_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "fill_float_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,114.285955884979\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,49.460104214779086\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,34.319039251798635\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,41.91029522104053\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "fill_float_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "fill_float_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,114.285955884979\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,49.460104214779086\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,34.319039251798635\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,41.91029522104053\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,114.285955884979\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,49.460104214779086\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,34.319039251798635\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,41.91029522104053\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "fill_float_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,0.01\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,114.285955884979\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,0.01\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,49.460104214779086\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,34.319039251798635\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,0.01\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,41.91029522104053\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "fill_float_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "fill_float_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,0.01\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,114.285955884979\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,0.01\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,49.460104214779086\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,34.319039251798635\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,0.01\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,41.91029522104053\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,0.01\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,114.285955884979\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,0.01\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,49.460104214779086\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,34.319039251798635\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,0.01\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,41.91029522104053\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 25,
						Line:   46,
					},
					File:   "fill_float_test.flux",
					Source: "t_fill_float = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(value: 0.01)",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   44,
						},
						File:   "fill_float_test.flux",
						Source: "t_fill_float",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_fill_float",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   46,
						},
						File:   "fill_float_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(value: 0.01)",
						Start: ast.Position{
							Column: 16,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   44,
									},
									File:   "fill_float_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "fill_float_test.flux",
								Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)",
								Start: ast.Position{
									Column: 30,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "fill_float_test.flux",
										Source: "start: 2018-12-15T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "fill_float_test.flux",
											Source: "start: 2018-12-15T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "fill_float_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "fill_float_test.flux",
												Source: "2018-12-15T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-15T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "fill_float_test.flux",
									Source: "range(start: 2018-12-15T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "fill_float_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   46,
							},
							File:   "fill_float_test.flux",
							Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(value: 0.01)",
							Start: ast.Position{
								Column: 30,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   46,
									},
									File:   "fill_float_test.flux",
									Source: "value: 0.01",
									Start: ast.Position{
										Column: 13,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   46,
										},
										File:   "fill_float_test.flux",
										Source: "value: 0.01",
										Start: ast.Position{
											Column: 13,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   46,
											},
											File:   "fill_float_test.flux",
											Source: "value",
											Start: ast.Position{
												Column: 13,
												Line:   46,
											},
										},
									},
									Name: "value",
								},
								Separator: nil,
								Value: &ast.FloatLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   46,
											},
											File:   "fill_float_test.flux",
											Source: "0.01",
											Start: ast.Position{
												Column: 20,
												Line:   46,
											},
										},
									},
									Value: 0.01,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   46,
								},
								File:   "fill_float_test.flux",
								Source: "fill(value: 0.01)",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   46,
									},
									File:   "fill_float_test.flux",
									Source: "fill",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "fill",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   44,
							},
							File:   "fill_float_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   44,
								},
								File:   "fill_float_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   44,
							},
							File:   "fill_float_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 118,
							Line:   48,
						},
						File:   "fill_float_test.flux",
						Source: "_fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   48,
							},
							File:   "fill_float_test.flux",
							Source: "_fill",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_fill",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 118,
								Line:   48,
							},
							File:   "fill_float_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
							Start: ast.Position{
								Column: 14,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 118,
									Line:   48,
								},
								File:   "fill_float_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
								Start: ast.Position{
									Column: 20,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 117,
										Line:   48,
									},
									File:   "fill_float_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float}",
									Start: ast.Position{
										Column: 21,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   48,
										},
										File:   "fill_float_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   48,
											},
											File:   "fill_float_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   48,
												},
												File:   "fill_float_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   48,
													},
													File:   "fill_float_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   48,
														},
														File:   "fill_float_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   48,
														},
														File:   "fill_float_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   48,
											},
											File:   "fill_float_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   48,
												},
												File:   "fill_float_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   48,
													},
													File:   "fill_float_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   48,
													},
													File:   "fill_float_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   48,
										},
										File:   "fill_float_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   48,
											},
											File:   "fill_float_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   48,
												},
												File:   "fill_float_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   48,
													},
													File:   "fill_float_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   48,
														},
														File:   "fill_float_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   48,
														},
														File:   "fill_float_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   48,
											},
											File:   "fill_float_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   48,
												},
												File:   "fill_float_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   48,
													},
													File:   "fill_float_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   48,
													},
													File:   "fill_float_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   48,
										},
										File:   "fill_float_test.flux",
										Source: "fn: t_fill_float",
										Start: ast.Position{
											Column: 100,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   48,
											},
											File:   "fill_float_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   48,
											},
											File:   "fill_float_test.flux",
											Source: "t_fill_float",
											Start: ast.Position{
												Column: 104,
												Line:   48,
											},
										},
									},
									Name: "t_fill_float",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 118,
						Line:   48,
					},
					File:   "fill_float_test.flux",
					Source: "test _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "fill_float_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "fill_float_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "fill_float_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "fill_float_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "fill_float_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   48,
				},
				File:   "fill_int_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,-1\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,-1\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,-1\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"\nt_fill_int = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: -1)\n\ntest _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_int})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "fill_int_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "fill_int_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "fill_int_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "fill_int_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "fill_int_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "fill_int_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "fill_int_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "fill_int_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,99\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "fill_int_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,-1\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,-1\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,-1\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "fill_int_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "fill_int_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,-1\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,-1\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,-1\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,-1\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,-1\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,-1\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,99\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 41,
						Line:   46,
					},
					File:   "fill_int_test.flux",
					Source: "t_fill_int = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: -1)",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   44,
						},
						File:   "fill_int_test.flux",
						Source: "t_fill_int",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_fill_int",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 41,
							Line:   46,
						},
						File:   "fill_int_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: -1)",
						Start: ast.Position{
							Column: 14,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   44,
									},
									File:   "fill_int_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 28,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "fill_int_test.flux",
								Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)",
								Start: ast.Position{
									Column: 28,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "fill_int_test.flux",
										Source: "start: 2018-12-15T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "fill_int_test.flux",
											Source: "start: 2018-12-15T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "fill_int_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "fill_int_test.flux",
												Source: "2018-12-15T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-15T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "fill_int_test.flux",
									Source: "range(start: 2018-12-15T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "fill_int_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 41,
								Line:   46,
							},
							File:   "fill_int_test.flux",
							Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: -1)",
							Start: ast.Position{
								Column: 28,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 40,
										Line:   46,
									},
									File:   "fill_int_test.flux",
									Source: "column: \"_value\", value: -1",
									Start: ast.Position{
										Column: 13,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   46,
										},
										File:   "fill_int_test.flux",
										Source: "column: \"_value\"",
										Start: ast.Position{
											Column: 13,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   46,
											},
											File:   "fill_int_test.flux",
											Source: "column",
											Start: ast.Position{
												Column: 13,
												Line:   46,
											},
										},
									},
									Name: "column",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   46,
											},
											File:   "fill_int_test.flux",
											Source: "\"_value\"",
											Start: ast.Position{
												Column: 21,
												Line:   46,
											},
										},
									},
									Value: "_value",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   46,
										},
										File:   "fill_int_test.flux",
										Source: "value: -1",
										Start: ast.Position{
											Column: 31,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   46,
											},
											File:   "fill_int_test.flux",
											Source: "value",
											Start: ast.Position{
												Column: 31,
												Line:   46,
											},
										},
									},
									Name: "value",
								},
								Separator: nil,
								Value: &ast.UnaryExpression{
									Argument: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   46,
												},
												File:   "fill_int_test.flux",
												Source: "1",
												Start: ast.Position{
													Column: 39,
													Line:   46,
												},
											},
										},
										Value: int64(1),
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   46,
											},
											File:   "fill_int_test.flux",
											Source: "-1",
											Start: ast.Position{
												Column: 38,
												Line:   46,
											},
										},
									},
									Operator: 6,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   46,
								},
								File:   "fill_int_test.flux",
								Source: "fill(column: \"_value\", value: -1)",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   46,
									},
									File:   "fill_int_test.flux",
									Source: "fill",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "fill",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   44,
							},
							File:   "fill_int_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   44,
								},
								File:   "fill_int_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   44,
							},
							File:   "fill_int_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   48,
						},
						File:   "fill_int_test.flux",
						Source: "_fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_int})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   48,
							},
							File:   "fill_int_test.flux",
							Source: "_fill",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_fill",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   48,
							},
							File:   "fill_int_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_int})",
							Start: ast.Position{
								Column: 14,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   48,
								},
								File:   "fill_int_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_int})",
								Start: ast.Position{
									Column: 20,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   48,
									},
									File:   "fill_int_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_int}",
									Start: ast.Position{
										Column: 21,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   48,
										},
										File:   "fill_int_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   48,
											},
											File:   "fill_int_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   48,
												},
												File:   "fill_int_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   48,
													},
													File:   "fill_int_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   48,
														},
														File:   "fill_int_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   48,
														},
														File:   "fill_int_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   48,
											},
											File:   "fill_int_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   48,
												},
												File:   "fill_int_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   48,
													},
													File:   "fill_int_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   48,
													},
													File:   "fill_int_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   48,
										},
										File:   "fill_int_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   48,
											},
											File:   "fill_int_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   48,
												},
												File:   "fill_int_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   48,
													},
													File:   "fill_int_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   48,
														},
														File:   "fill_int_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   48,
														},
														File:   "fill_int_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   48,
											},
											File:   "fill_int_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   48,
												},
												File:   "fill_int_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   48,
													},
													File:   "fill_int_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   48,
													},
													File:   "fill_int_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   48,
										},
										File:   "fill_int_test.flux",
										Source: "fn: t_fill_int",
										Start: ast.Position{
											Column: 100,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   48,
											},
											File:   "fill_int_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   48,
											},
											File:   "fill_int_test.flux",
											Source: "t_fill_int",
											Start: ast.Position{
												Column: 104,
												Line:   48,
											},
										},
									},
									Name: "t_fill_int",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   48,
					},
					File:   "fill_int_test.flux",
					Source: "test _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_int})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "fill_int_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "fill_int_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "fill_int_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "fill_int_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "fill_int_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 98,
					Line:   49,
				},
				File:   "fill_previous_test.flux",
				Source: "package universe_test\n\n\nimport \"csv\"\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"\nt_fill_int = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(usePrevious: true)\n\ntest _fill = () => ({input: csv.from(csv: inData), want: csv.from(csv: outData), fn: t_fill_int})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "fill_previous_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "fill_previous_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "fill_previous_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "fill_previous_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "fill_previous_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "fill_previous_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "fill_previous_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "fill_previous_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,99\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   44,
					},
					File:   "fill_previous_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   27,
						},
						File:   "fill_previous_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   44,
						},
						File:   "fill_previous_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,99\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   27,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,-25\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,46\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,-2\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,-53\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,17\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,-44\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,-99\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,-85\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,99\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 31,
						Line:   47,
					},
					File:   "fill_previous_test.flux",
					Source: "t_fill_int = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(usePrevious: true)",
					Start: ast.Position{
						Column: 1,
						Line:   45,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   45,
						},
						File:   "fill_previous_test.flux",
						Source: "t_fill_int",
						Start: ast.Position{
							Column: 1,
							Line:   45,
						},
					},
				},
				Name: "t_fill_int",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 31,
							Line:   47,
						},
						File:   "fill_previous_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(usePrevious: true)",
						Start: ast.Position{
							Column: 14,
							Line:   45,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   45,
									},
									File:   "fill_previous_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 28,
										Line:   45,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   46,
								},
								File:   "fill_previous_test.flux",
								Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)",
								Start: ast.Position{
									Column: 28,
									Line:   45,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   46,
										},
										File:   "fill_previous_test.flux",
										Source: "start: 2018-12-15T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   46,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   46,
											},
											File:   "fill_previous_test.flux",
											Source: "start: 2018-12-15T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   46,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   46,
												},
												File:   "fill_previous_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   46,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   46,
												},
												File:   "fill_previous_test.flux",
												Source: "2018-12-15T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   46,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-15T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   46,
									},
									File:   "fill_previous_test.flux",
									Source: "range(start: 2018-12-15T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   46,
										},
										File:   "fill_previous_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   46,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   47,
							},
							File:   "fill_previous_test.flux",
							Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(usePrevious: true)",
							Start: ast.Position{
								Column: 28,
								Line:   45,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   47,
									},
									File:   "fill_previous_test.flux",
									Source: "usePrevious: true",
									Start: ast.Position{
										Column: 13,
										Line:   47,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 30,
											Line:   47,
										},
										File:   "fill_previous_test.flux",
										Source: "usePrevious: true",
										Start: ast.Position{
											Column: 13,
											Line:   47,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   47,
											},
											File:   "fill_previous_test.flux",
											Source: "usePrevious",
											Start: ast.Position{
												Column: 13,
												Line:   47,
											},
										},
									},
									Name: "usePrevious",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   47,
											},
											File:   "fill_previous_test.flux",
											Source: "true",
											Start: ast.Position{
												Column: 26,
												Line:   47,
											},
										},
									},
									Name: "true",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 31,
									Line:   47,
								},
								File:   "fill_previous_test.flux",
								Source: "fill(usePrevious: true)",
								Start: ast.Position{
									Column: 8,
									Line:   47,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   47,
									},
									File:   "fill_previous_test.flux",
									Source: "fill",
									Start: ast.Position{
										Column: 8,
										Line:   47,
									},
								},
							},
							Name: "fill",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   45,
							},
							File:   "fill_previous_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   45,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   45,
								},
								File:   "fill_previous_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   45,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   45,
							},
							File:   "fill_previous_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   45,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 98,
							Line:   49,
						},
						File:   "fill_previous_test.flux",
						Source: "_fill = () => ({input: csv.from(csv: inData), want: csv.from(csv: outData), fn: t_fill_int})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   49,
							},
							File:   "fill_previous_test.flux",
							Source: "_fill",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "_fill",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 98,
								Line:   49,
							},
							File:   "fill_previous_test.flux",
							Source: "() => ({input: csv.from(csv: inData), want: csv.from(csv: outData), fn: t_fill_int})",
							Start: ast.Position{
								Column: 14,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 98,
									Line:   49,
								},
								File:   "fill_previous_test.flux",
								Source: "({input: csv.from(csv: inData), want: csv.from(csv: outData), fn: t_fill_int})",
								Start: ast.Position{
									Column: 20,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 97,
										Line:   49,
									},
									File:   "fill_previous_test.flux",
									Source: "{input: csv.from(csv: inData), want: csv.from(csv: outData), fn: t_fill_int}",
									Start: ast.Position{
										Column: 21,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   49,
										},
										File:   "fill_previous_test.flux",
										Source: "input: csv.from(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   49,
											},
											File:   "fill_previous_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   49,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   49,
												},
												File:   "fill_previous_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 38,
													Line:   49,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   49,
													},
													File:   "fill_previous_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 38,
														Line:   49,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   49,
														},
														File:   "fill_previous_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 38,
															Line:   49,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 49,
															Line:   49,
														},
														File:   "fill_previous_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 43,
															Line:   49,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   49,
											},
											File:   "fill_previous_test.flux",
											Source: "csv.from(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   49,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   49,
												},
												File:   "fill_previous_test.flux",
												Source: "csv.from",
												Start: ast.Position{
													Column: 29,
													Line:   49,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 32,
														Line:   49,
													},
													File:   "fill_previous_test.flux",
													Source: "csv",
													Start: ast.Position{
														Column: 29,
														Line:   49,
													},
												},
											},
											Name: "csv",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   49,
													},
													File:   "fill_previous_test.flux",
													Source: "from",
													Start: ast.Position{
														Column: 33,
														Line:   49,
													},
												},
											},
											Name: "from",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 80,
											Line:   49,
										},
										File:   "fill_previous_test.flux",
										Source: "want: csv.from(csv: outData)",
										Start: ast.Position{
											Column: 52,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 56,
												Line:   49,
											},
											File:   "fill_previous_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 52,
												Line:   49,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 79,
													Line:   49,
												},
												File:   "fill_previous_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 67,
													Line:   49,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 79,
														Line:   49,
													},
													File:   "fill_previous_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 67,
														Line:   49,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   49,
														},
														File:   "fill_previous_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 67,
															Line:   49,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 79,
															Line:   49,
														},
														File:   "fill_previous_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 72,
															Line:   49,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   49,
											},
											File:   "fill_previous_test.flux",
											Source: "csv.from(csv: outData)",
											Start: ast.Position{
												Column: 58,
												Line:   49,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   49,
												},
												File:   "fill_previous_test.flux",
												Source: "csv.from",
												Start: ast.Position{
													Column: 58,
													Line:   49,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   49,
													},
													File:   "fill_previous_test.flux",
													Source: "csv",
													Start: ast.Position{
														Column: 58,
														Line:   49,
													},
												},
											},
											Name: "csv",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   49,
													},
													File:   "fill_previous_test.flux",
													Source: "from",
													Start: ast.Position{
														Column: 62,
														Line:   49,
													},
												},
											},
											Name: "from",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 96,
											Line:   49,
										},
										File:   "fill_previous_test.flux",
										Source: "fn: t_fill_int",
										Start: ast.Position{
											Column: 82,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 84,
												Line:   49,
											},
											File:   "fill_previous_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 82,
												Line:   49,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 96,
												Line:   49,
											},
											File:   "fill_previous_test.flux",
											Source: "t_fill_int",
											Start: ast.Position{
												Column: 86,
												Line:   49,
											},
										},
									},
									Name: "t_fill_int",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 98,
						Line:   49,
					},
					File:   "fill_previous_test.flux",
					Source: "test _fill = () => ({input: csv.from(csv: inData), want: csv.from(csv: outData), fn: t_fill_int})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   4,
					},
					File:   "fill_previous_test.flux",
					Source: "import \"csv\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   4,
						},
						File:   "fill_previous_test.flux",
						Source: "\"csv\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "csv",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   5,
					},
					File:   "fill_previous_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   5,
						},
						File:   "fill_previous_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "fill_previous_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "fill_previous_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "fill_previous_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 118,
					Line:   48,
				},
				File:   "fill_string_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,A\n\"\nt_fill_float = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: \"A\")\n\ntest _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "fill_string_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "fill_string_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "fill_string_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "fill_string_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "fill_string_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "fill_string_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "fill_string_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "fill_string_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "fill_string_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,A\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "fill_string_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "fill_string_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,A\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,A\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,A\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,A\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   46,
					},
					File:   "fill_string_test.flux",
					Source: "t_fill_float = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: \"A\")",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   44,
						},
						File:   "fill_string_test.flux",
						Source: "t_fill_float",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_fill_float",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   46,
						},
						File:   "fill_string_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: \"A\")",
						Start: ast.Position{
							Column: 16,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   44,
									},
									File:   "fill_string_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "fill_string_test.flux",
								Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)",
								Start: ast.Position{
									Column: 30,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "fill_string_test.flux",
										Source: "start: 2018-12-15T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "fill_string_test.flux",
											Source: "start: 2018-12-15T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "fill_string_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "fill_string_test.flux",
												Source: "2018-12-15T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-15T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "fill_string_test.flux",
									Source: "range(start: 2018-12-15T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "fill_string_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   46,
							},
							File:   "fill_string_test.flux",
							Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: \"A\")",
							Start: ast.Position{
								Column: 30,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   46,
									},
									File:   "fill_string_test.flux",
									Source: "column: \"_value\", value: \"A\"",
									Start: ast.Position{
										Column: 13,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   46,
										},
										File:   "fill_string_test.flux",
										Source: "column: \"_value\"",
										Start: ast.Position{
											Column: 13,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   46,
											},
											File:   "fill_string_test.flux",
											Source: "column",
											Start: ast.Position{
												Column: 13,
												Line:   46,
											},
										},
									},
									Name: "column",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   46,
											},
											File:   "fill_string_test.flux",
											Source: "\"_value\"",
											Start: ast.Position{
												Column: 21,
												Line:   46,
											},
										},
									},
									Value: "_value",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   46,
										},
										File:   "fill_string_test.flux",
										Source: "value: \"A\"",
										Start: ast.Position{
											Column: 31,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   46,
											},
											File:   "fill_string_test.flux",
											Source: "value",
											Start: ast.Position{
												Column: 31,
												Line:   46,
											},
										},
									},
									Name: "value",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   46,
											},
											File:   "fill_string_test.flux",
											Source: "\"A\"",
											Start: ast.Position{
												Column: 38,
												Line:   46,
											},
										},
									},
									Value: "A",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   46,
								},
								File:   "fill_string_test.flux",
								Source: "fill(column: \"_value\", value: \"A\")",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   46,
									},
									File:   "fill_string_test.flux",
									Source: "fill",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "fill",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   44,
							},
							File:   "fill_string_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   44,
								},
								File:   "fill_string_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   44,
							},
							File:   "fill_string_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 118,
							Line:   48,
						},
						File:   "fill_string_test.flux",
						Source: "_fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   48,
							},
							File:   "fill_string_test.flux",
							Source: "_fill",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_fill",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 118,
								Line:   48,
							},
							File:   "fill_string_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
							Start: ast.Position{
								Column: 14,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 118,
									Line:   48,
								},
								File:   "fill_string_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
								Start: ast.Position{
									Column: 20,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 117,
										Line:   48,
									},
									File:   "fill_string_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float}",
									Start: ast.Position{
										Column: 21,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   48,
										},
										File:   "fill_string_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   48,
											},
											File:   "fill_string_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   48,
												},
												File:   "fill_string_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   48,
													},
													File:   "fill_string_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   48,
														},
														File:   "fill_string_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   48,
														},
														File:   "fill_string_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   48,
											},
											File:   "fill_string_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   48,
												},
												File:   "fill_string_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   48,
													},
													File:   "fill_string_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   48,
													},
													File:   "fill_string_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   48,
										},
										File:   "fill_string_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   48,
											},
											File:   "fill_string_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   48,
												},
												File:   "fill_string_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   48,
													},
													File:   "fill_string_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   48,
														},
														File:   "fill_string_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   48,
														},
														File:   "fill_string_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   48,
											},
											File:   "fill_string_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   48,
												},
												File:   "fill_string_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   48,
													},
													File:   "fill_string_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   48,
													},
													File:   "fill_string_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   48,
										},
										File:   "fill_string_test.flux",
										Source: "fn: t_fill_float",
										Start: ast.Position{
											Column: 100,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   48,
											},
											File:   "fill_string_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   48,
											},
											File:   "fill_string_test.flux",
											Source: "t_fill_float",
											Start: ast.Position{
												Column: 104,
												Line:   48,
											},
										},
									},
									Name: "t_fill_float",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 118,
						Line:   48,
					},
					File:   "fill_string_test.flux",
					Source: "test _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_float})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "fill_string_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "fill_string_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "fill_string_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "fill_string_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "fill_string_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 117,
					Line:   52,
				},
				File:   "fill_time_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport c \"csv\"\n\noption now = () => 2018-12-19T22:15:00Z\n\n// todo(faith): remove overload https://github.com/influxdata/flux/issues/3155\r\noption testing.loadStorage = (csv) => c.from(csv: csv)\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\r\n#group,false,false,true,true,true,true,true,false,false\r\n#default,,,,,,,,,\r\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:30Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:40Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:50Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:10Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:20Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:40Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:50Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:10Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:20Z,A\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\r\n#group,false,false,true,true,true,true,true,false,false\r\n#default,_result,,,,,,,,\r\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:30Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:40Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:50Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2077-12-19T22:14:00Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:10Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:20Z,A\r\n\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2077-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:40Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:50Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:10Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:20Z,A\r\n\"\nt_fill_time = (table=<-) => table\n    |> fill(column: \"_time\", value: 2077-12-19T22:14:00Z)\n\ntest _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_time})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "fill_time_test.flux",
						Source: "now = () => 2018-12-19T22:15:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "fill_time_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "fill_time_test.flux",
							Source: "() => 2018-12-19T22:15:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "fill_time_test.flux",
								Source: "2018-12-19T22:15:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2018-12-19T22:15:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "fill_time_test.flux",
					Source: "option now = () => 2018-12-19T22:15:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.OptionStatement{
			Assignment: &ast.MemberAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 55,
							Line:   10,
						},
						File:   "fill_time_test.flux",
						Source: "testing.loadStorage = (csv) => c.from(csv: csv)",
						Start: ast.Position{
							Column: 8,
							Line:   10,
						},
					},
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 55,
								Line:   10,
							},
							File:   "fill_time_test.flux",
							Source: "(csv) => c.from(csv: csv)",
							Start: ast.Position{
								Column: 30,
								Line:   10,
							},
						},
					},
					Body: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 54,
										Line:   10,
									},
									File:   "fill_time_test.flux",
									Source: "csv: csv",
									Start: ast.Position{
										Column: 46,
										Line:   10,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   10,
										},
										File:   "fill_time_test.flux",
										Source: "csv: csv",
										Start: ast.Position{
											Column: 46,
											Line:   10,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   10,
											},
											File:   "fill_time_test.flux",
											Source: "csv",
											Start: ast.Position{
												Column: 46,
												Line:   10,
											},
										},
									},
									Name: "csv",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 54,
												Line:   10,
											},
											File:   "fill_time_test.flux",
											Source: "csv",
											Start: ast.Position{
												Column: 51,
												Line:   10,
											},
										},
									},
									Name: "csv",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 55,
									Line:   10,
								},
								File:   "fill_time_test.flux",
								Source: "c.from(csv: csv)",
								Start: ast.Position{
									Column: 39,
									Line:   10,
								},
							},
						},
						Callee: &ast.MemberExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   10,
									},
									File:   "fill_time_test.flux",
									Source: "c.from",
									Start: ast.Position{
										Column: 39,
										Line:   10,
									},
								},
							},
							Lbrack: nil,
							Object: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   10,
										},
										File:   "fill_time_test.flux",
										Source: "c",
										Start: ast.Position{
											Column: 39,
											Line:   10,
										},
									},
								},
								Name: "c",
							},
							Property: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   10,
										},
										File:   "fill_time_test.flux",
										Source: "from",
										Start: ast.Position{
											Column: 41,
											Line:   10,
										},
									},
								},
								Name: "from",
							},
							Rbrack: nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{&ast.Property{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 34,
									Line:   10,
								},
								File:   "fill_time_test.flux",
								Source: "csv",
								Start: ast.Position{
									Column: 31,
									Line:   10,
								},
							},
						},
						Comma: nil,
						Key: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   10,
									},
									File:   "fill_time_test.flux",
									Source: "csv",
									Start: ast.Position{
										Column: 31,
										Line:   10,
									},
								},
							},
							Name: "csv",
						},
						Separator: nil,
						Value:     nil,
					}},
					Rparan: nil,
				},
				Member: &ast.MemberExpression{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   10,
							},
							File:   "fill_time_test.flux",
							Source: "testing.loadStorage",
							Start: ast.Position{
								Column: 8,
								Line:   10,
							},
						},
					},
					Lbrack: nil,
					Object: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   10,
								},
								File:   "fill_time_test.flux",
								Source: "testing",
								Start: ast.Position{
									Column: 8,
									Line:   10,
								},
							},
						},
						Name: "testing",
					},
					Property: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   10,
								},
								File:   "fill_time_test.flux",
								Source: "loadStorage",
								Start: ast.Position{
									Column: 16,
									Line:   10,
								},
							},
						},
						Name: "loadStorage",
					},
					Rbrack: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// todo(faith): remove overload https://github.com/influxdata/flux/issues/3155\r\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 55,
						Line:   10,
					},
					File:   "fill_time_test.flux",
					Source: "option testing.loadStorage = (csv) => c.from(csv: csv)",
					Start: ast.Position{
						Column: 1,
						Line:   10,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "fill_time_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\r\n#group,false,false,true,true,true,true,true,false,false\r\n#default,,,,,,,,,\r\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:30Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:40Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:50Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:10Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:20Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:40Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:50Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:10Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:20Z,A\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   12,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   12,
						},
						File:   "fill_time_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   12,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "fill_time_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\r\n#group,false,false,true,true,true,true,true,false,false\r\n#default,,,,,,,,,\r\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:30Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:40Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:50Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:10Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:20Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:40Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:50Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:10Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:20Z,A\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   12,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\r\n#group,false,false,true,true,true,true,true,false,false\r\n#default,,,,,,,,,\r\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:30Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:40Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:50Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:10Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:20Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:40Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:50Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:10Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:20Z,A\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   48,
					},
					File:   "fill_time_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\r\n#group,false,false,true,true,true,true,true,false,false\r\n#default,_result,,,,,,,,\r\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:30Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:40Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:50Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2077-12-19T22:14:00Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:10Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:20Z,A\r\n\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2077-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:40Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:50Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:10Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:20Z,A\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "fill_time_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   48,
						},
						File:   "fill_time_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\r\n#group,false,false,true,true,true,true,true,false,false\r\n#default,_result,,,,,,,,\r\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:30Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:40Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:50Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2077-12-19T22:14:00Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:10Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:20Z,A\r\n\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2077-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:40Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:50Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:10Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:20Z,A\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\r\n#group,false,false,true,true,true,true,true,false,false\r\n#default,_result,,,,,,,,\r\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:30Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:40Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:13:50Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2077-12-19T22:14:00Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:10Z,A\r\n,,0,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server01,2018-12-19T22:14:20Z,A\r\n\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2077-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:40Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:13:50Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:00Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:10Z,A\r\n,,1,2018-12-19T22:13:30Z,2018-12-19T22:14:20Z,m1,f1,server02,2018-12-19T22:14:20Z,A\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 58,
						Line:   50,
					},
					File:   "fill_time_test.flux",
					Source: "t_fill_time = (table=<-) => table\n    |> fill(column: \"_time\", value: 2077-12-19T22:14:00Z)",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   49,
						},
						File:   "fill_time_test.flux",
						Source: "t_fill_time",
						Start: ast.Position{
							Column: 1,
							Line:   49,
						},
					},
				},
				Name: "t_fill_time",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 58,
							Line:   50,
						},
						File:   "fill_time_test.flux",
						Source: "(table=<-) => table\n    |> fill(column: \"_time\", value: 2077-12-19T22:14:00Z)",
						Start: ast.Position{
							Column: 15,
							Line:   49,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 34,
									Line:   49,
								},
								File:   "fill_time_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 29,
									Line:   49,
								},
							},
						},
						Name: "table",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 58,
								Line:   50,
							},
							File:   "fill_time_test.flux",
							Source: "table\n    |> fill(column: \"_time\", value: 2077-12-19T22:14:00Z)",
							Start: ast.Position{
								Column: 29,
								Line:   49,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 57,
										Line:   50,
									},
									File:   "fill_time_test.flux",
									Source: "column: \"_time\", value: 2077-12-19T22:14:00Z",
									Start: ast.Position{
										Column: 13,
										Line:   50,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 28,
											Line:   50,
										},
										File:   "fill_time_test.flux",
										Source: "column: \"_time\"",
										Start: ast.Position{
											Column: 13,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   50,
											},
											File:   "fill_time_test.flux",
											Source: "column",
											Start: ast.Position{
												Column: 13,
												Line:   50,
											},
										},
									},
									Name: "column",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   50,
											},
											File:   "fill_time_test.flux",
											Source: "\"_time\"",
											Start: ast.Position{
												Column: 21,
												Line:   50,
											},
										},
									},
									Value: "_time",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 57,
											Line:   50,
										},
										File:   "fill_time_test.flux",
										Source: "value: 2077-12-19T22:14:00Z",
										Start: ast.Position{
											Column: 30,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   50,
											},
											File:   "fill_time_test.flux",
											Source: "value",
											Start: ast.Position{
												Column: 30,
												Line:   50,
											},
										},
									},
									Name: "value",
								},
								Separator: nil,
								Value: &ast.DateTimeLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 57,
												Line:   50,
											},
											File:   "fill_time_test.flux",
											Source: "2077-12-19T22:14:00Z",
											Start: ast.Position{
												Column: 37,
												Line:   50,
											},
										},
									},
									Value: parser.MustParseTime("2077-12-19T22:14:00Z"),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 58,
									Line:   50,
								},
								File:   "fill_time_test.flux",
								Source: "fill(column: \"_time\", value: 2077-12-19T22:14:00Z)",
								Start: ast.Position{
									Column: 8,
									Line:   50,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   50,
									},
									File:   "fill_time_test.flux",
									Source: "fill",
									Start: ast.Position{
										Column: 8,
										Line:   50,
									},
								},
							},
							Name: "fill",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   49,
							},
							File:   "fill_time_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   49,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   49,
								},
								File:   "fill_time_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   49,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   49,
							},
							File:   "fill_time_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   49,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 117,
							Line:   52,
						},
						File:   "fill_time_test.flux",
						Source: "_fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_time})",
						Start: ast.Position{
							Column: 6,
							Line:   52,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   52,
							},
							File:   "fill_time_test.flux",
							Source: "_fill",
							Start: ast.Position{
								Column: 6,
								Line:   52,
							},
						},
					},
					Name: "_fill",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 117,
								Line:   52,
							},
							File:   "fill_time_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_time})",
							Start: ast.Position{
								Column: 14,
								Line:   52,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 117,
									Line:   52,
								},
								File:   "fill_time_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_time})",
								Start: ast.Position{
									Column: 20,
									Line:   52,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 116,
										Line:   52,
									},
									File:   "fill_time_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_time}",
									Start: ast.Position{
										Column: 21,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   52,
										},
										File:   "fill_time_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   52,
											},
											File:   "fill_time_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   52,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   52,
												},
												File:   "fill_time_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   52,
													},
													File:   "fill_time_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   52,
														},
														File:   "fill_time_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   52,
														},
														File:   "fill_time_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   52,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   52,
											},
											File:   "fill_time_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   52,
												},
												File:   "fill_time_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   52,
													},
													File:   "fill_time_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   52,
													},
													File:   "fill_time_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   52,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   52,
										},
										File:   "fill_time_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   52,
											},
											File:   "fill_time_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   52,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   52,
												},
												File:   "fill_time_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   52,
													},
													File:   "fill_time_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   52,
														},
														File:   "fill_time_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   52,
														},
														File:   "fill_time_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   52,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   52,
											},
											File:   "fill_time_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   52,
												},
												File:   "fill_time_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   52,
													},
													File:   "fill_time_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   52,
													},
													File:   "fill_time_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   52,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 115,
											Line:   52,
										},
										File:   "fill_time_test.flux",
										Source: "fn: t_fill_time",
										Start: ast.Position{
											Column: 100,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   52,
											},
											File:   "fill_time_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   52,
											},
											File:   "fill_time_test.flux",
											Source: "t_fill_time",
											Start: ast.Position{
												Column: 104,
												Line:   52,
											},
										},
									},
									Name: "t_fill_time",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 117,
						Line:   52,
					},
					File:   "fill_time_test.flux",
					Source: "test _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_time})",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "fill_time_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "fill_time_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   5,
						},
						File:   "fill_time_test.flux",
						Source: "c",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Name: "c",
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   5,
					},
					File:   "fill_time_test.flux",
					Source: "import c \"csv\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   5,
						},
						File:   "fill_time_test.flux",
						Source: "\"csv\"",
						Start: ast.Position{
							Column: 10,
							Line:   5,
						},
					},
				},
				Value: "csv",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "fill_time_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "fill_time_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "fill_time_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 117,
					Line:   48,
				},
				File:   "fill_uint_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,84\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,52\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,62\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,22\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,78\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,33\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,97\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,90\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,96\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,84\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,52\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,0\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,62\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,22\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,78\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,0\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,33\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,97\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,90\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,96\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,0\n\"\nt_fill_uint = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: uint(v: 0))\n\ntest _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_uint})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "fill_uint_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "fill_uint_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "fill_uint_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "fill_uint_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "fill_uint_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "fill_uint_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,84\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,52\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,62\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,22\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,78\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,33\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,97\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,90\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,96\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "fill_uint_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "fill_uint_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,84\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,52\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,62\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,22\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,78\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,33\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,97\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,90\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,96\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,m1,f1,server01,2018-12-19T22:13:30Z,84\n,,0,m1,f1,server01,2018-12-19T22:13:40Z,52\n,,0,m1,f1,server01,2018-12-19T22:13:50Z,\n,,0,m1,f1,server01,2018-12-19T22:14:00Z,62\n,,0,m1,f1,server01,2018-12-19T22:14:10Z,22\n,,0,m1,f1,server01,2018-12-19T22:14:20Z,78\n,,1,m1,f1,server02,2018-12-19T22:13:30Z,\n,,1,m1,f1,server02,2018-12-19T22:13:40Z,33\n,,1,m1,f1,server02,2018-12-19T22:13:50Z,97\n,,1,m1,f1,server02,2018-12-19T22:14:00Z,90\n,,1,m1,f1,server02,2018-12-19T22:14:10Z,96\n,,1,m1,f1,server02,2018-12-19T22:14:20Z,\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "fill_uint_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,84\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,52\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,0\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,62\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,22\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,78\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,0\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,33\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,97\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,90\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,96\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "fill_uint_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "fill_uint_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,84\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,52\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,0\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,62\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,22\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,78\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,0\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,33\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,97\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,90\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,96\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:30Z,84\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:40Z,52\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:13:50Z,0\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:00Z,62\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:10Z,22\n,,0,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server01,2018-12-19T22:14:20Z,78\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:30Z,0\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:40Z,33\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:13:50Z,97\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:00Z,90\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:10Z,96\n,,1,2018-12-15T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,server02,2018-12-19T22:14:20Z,0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 49,
						Line:   46,
					},
					File:   "fill_uint_test.flux",
					Source: "t_fill_uint = (table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: uint(v: 0))",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   44,
						},
						File:   "fill_uint_test.flux",
						Source: "t_fill_uint",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_fill_uint",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 49,
							Line:   46,
						},
						File:   "fill_uint_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: uint(v: 0))",
						Start: ast.Position{
							Column: 15,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   44,
									},
									File:   "fill_uint_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 29,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "fill_uint_test.flux",
								Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)",
								Start: ast.Position{
									Column: 29,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "fill_uint_test.flux",
										Source: "start: 2018-12-15T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "fill_uint_test.flux",
											Source: "start: 2018-12-15T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "fill_uint_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "fill_uint_test.flux",
												Source: "2018-12-15T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-15T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "fill_uint_test.flux",
									Source: "range(start: 2018-12-15T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "fill_uint_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 49,
								Line:   46,
							},
							File:   "fill_uint_test.flux",
							Source: "table\n    |> range(start: 2018-12-15T00:00:00Z)\n    |> fill(column: \"_value\", value: uint(v: 0))",
							Start: ast.Position{
								Column: 29,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   46,
									},
									File:   "fill_uint_test.flux",
									Source: "column: \"_value\", value: uint(v: 0)",
									Start: ast.Position{
										Column: 13,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   46,
										},
										File:   "fill_uint_test.flux",
										Source: "column: \"_value\"",
										Start: ast.Position{
											Column: 13,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   46,
											},
											File:   "fill_uint_test.flux",
											Source: "column",
											Start: ast.Position{
												Column: 13,
												Line:   46,
											},
										},
									},
									Name: "column",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   46,
											},
											File:   "fill_uint_test.flux",
											Source: "\"_value\"",
											Start: ast.Position{
												Column: 21,
												Line:   46,
											},
										},
									},
									Value: "_value",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   46,
										},
										File:   "fill_uint_test.flux",
										Source: "value: uint(v: 0)",
										Start: ast.Position{
											Column: 31,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   46,
											},
											File:   "fill_uint_test.flux",
											Source: "value",
											Start: ast.Position{
												Column: 31,
												Line:   46,
											},
										},
									},
									Name: "value",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   46,
												},
												File:   "fill_uint_test.flux",
												Source: "v: 0",
												Start: ast.Position{
													Column: 43,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   46,
													},
													File:   "fill_uint_test.flux",
													Source: "v: 0",
													Start: ast.Position{
														Column: 43,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   46,
														},
														File:   "fill_uint_test.flux",
														Source: "v",
														Start: ast.Position{
															Column: 43,
															Line:   46,
														},
													},
												},
												Name: "v",
											},
											Separator: nil,
											Value: &ast.IntegerLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   46,
														},
														File:   "fill_uint_test.flux",
														Source: "0",
														Start: ast.Position{
															Column: 46,
															Line:   46,
														},
													},
												},
												Value: int64(0),
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   46,
											},
											File:   "fill_uint_test.flux",
											Source: "uint(v: 0)",
											Start: ast.Position{
												Column: 38,
												Line:   46,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   46,
												},
												File:   "fill_uint_test.flux",
												Source: "uint",
												Start: ast.Position{
													Column: 38,
													Line:   46,
												},
											},
										},
										Name: "uint",
									},
									Lparen: nil,
									Rparen: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   46,
								},
								File:   "fill_uint_test.flux",
								Source: "fill(column: \"_value\", value: uint(v: 0))",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   46,
									},
									File:   "fill_uint_test.flux",
									Source: "fill",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "fill",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   44,
							},
							File:   "fill_uint_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   44,
								},
								File:   "fill_uint_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   44,
							},
							File:   "fill_uint_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 117,
							Line:   48,
						},
						File:   "fill_uint_test.flux",
						Source: "_fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_uint})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   48,
							},
							File:   "fill_uint_test.flux",
							Source: "_fill",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_fill",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 117,
								Line:   48,
							},
							File:   "fill_uint_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_uint})",
							Start: ast.Position{
								Column: 14,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 117,
									Line:   48,
								},
								File:   "fill_uint_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_uint})",
								Start: ast.Position{
									Column: 20,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 116,
										Line:   48,
									},
									File:   "fill_uint_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_uint}",
									Start: ast.Position{
										Column: 21,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   48,
										},
										File:   "fill_uint_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   48,
											},
											File:   "fill_uint_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   48,
												},
												File:   "fill_uint_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   48,
													},
													File:   "fill_uint_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   48,
														},
														File:   "fill_uint_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   48,
														},
														File:   "fill_uint_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   48,
											},
											File:   "fill_uint_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   48,
												},
												File:   "fill_uint_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   48,
													},
													File:   "fill_uint_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   48,
													},
													File:   "fill_uint_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   48,
										},
										File:   "fill_uint_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   48,
											},
											File:   "fill_uint_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   48,
												},
												File:   "fill_uint_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   48,
													},
													File:   "fill_uint_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   48,
														},
														File:   "fill_uint_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   48,
														},
														File:   "fill_uint_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   48,
											},
											File:   "fill_uint_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   48,
												},
												File:   "fill_uint_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   48,
													},
													File:   "fill_uint_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   48,
													},
													File:   "fill_uint_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 115,
											Line:   48,
										},
										File:   "fill_uint_test.flux",
										Source: "fn: t_fill_uint",
										Start: ast.Position{
											Column: 100,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   48,
											},
											File:   "fill_uint_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   48,
											},
											File:   "fill_uint_test.flux",
											Source: "t_fill_uint",
											Start: ast.Position{
												Column: 104,
												Line:   48,
											},
										},
									},
									Name: "t_fill_uint",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 117,
						Line:   48,
					},
					File:   "fill_uint_test.flux",
					Source: "test _fill = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_fill_uint})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "fill_uint_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "fill_uint_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "fill_uint_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "fill_uint_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "fill_uint_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 134,
					Line:   43,
				},
				File:   "filter_by_regex_compile_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"regexp\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n\"\nt_filter_by_regex = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r.name =~ regexp.compile(v: \".*0\"))\n\ntest _filter_by_regex = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "filter_by_regex_compile_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "filter_by_regex_compile_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "filter_by_regex_compile_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "filter_by_regex_compile_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "filter_by_regex_compile_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   38,
					},
					File:   "filter_by_regex_compile_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   27,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   38,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   27,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 61,
						Line:   41,
					},
					File:   "filter_by_regex_compile_test.flux",
					Source: "t_filter_by_regex = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r.name =~ regexp.compile(v: \".*0\"))",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 18,
							Line:   39,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "t_filter_by_regex",
						Start: ast.Position{
							Column: 1,
							Line:   39,
						},
					},
				},
				Name: "t_filter_by_regex",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 61,
							Line:   41,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r.name =~ regexp.compile(v: \".*0\"))",
						Start: ast.Position{
							Column: 21,
							Line:   39,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 40,
										Line:   39,
									},
									File:   "filter_by_regex_compile_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 35,
										Line:   39,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   40,
								},
								File:   "filter_by_regex_compile_test.flux",
								Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)",
								Start: ast.Position{
									Column: 35,
									Line:   39,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   40,
										},
										File:   "filter_by_regex_compile_test.flux",
										Source: "start: 2018-05-20T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   40,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   40,
											},
											File:   "filter_by_regex_compile_test.flux",
											Source: "start: 2018-05-20T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   40,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   40,
												},
												File:   "filter_by_regex_compile_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   40,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   40,
												},
												File:   "filter_by_regex_compile_test.flux",
												Source: "2018-05-20T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   40,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-20T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   40,
									},
									File:   "filter_by_regex_compile_test.flux",
									Source: "range(start: 2018-05-20T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   40,
										},
										File:   "filter_by_regex_compile_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   40,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 61,
								Line:   41,
							},
							File:   "filter_by_regex_compile_test.flux",
							Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r.name =~ regexp.compile(v: \".*0\"))",
							Start: ast.Position{
								Column: 35,
								Line:   39,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 60,
										Line:   41,
									},
									File:   "filter_by_regex_compile_test.flux",
									Source: "fn: (r) => r.name =~ regexp.compile(v: \".*0\")",
									Start: ast.Position{
										Column: 15,
										Line:   41,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   41,
										},
										File:   "filter_by_regex_compile_test.flux",
										Source: "fn: (r) => r.name =~ regexp.compile(v: \".*0\")",
										Start: ast.Position{
											Column: 15,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   41,
											},
											File:   "filter_by_regex_compile_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   41,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   41,
											},
											File:   "filter_by_regex_compile_test.flux",
											Source: "(r) => r.name =~ regexp.compile(v: \".*0\")",
											Start: ast.Position{
												Column: 19,
												Line:   41,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   41,
												},
												File:   "filter_by_regex_compile_test.flux",
												Source: "r.name =~ regexp.compile(v: \".*0\")",
												Start: ast.Position{
													Column: 26,
													Line:   41,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 32,
														Line:   41,
													},
													File:   "filter_by_regex_compile_test.flux",
													Source: "r.name",
													Start: ast.Position{
														Column: 26,
														Line:   41,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   41,
														},
														File:   "filter_by_regex_compile_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   41,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 32,
															Line:   41,
														},
														File:   "filter_by_regex_compile_test.flux",
														Source: "name",
														Start: ast.Position{
															Column: 28,
															Line:   41,
														},
													},
												},
												Name: "name",
											},
											Rbrack: nil,
										},
										Operator: 19,
										Right: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   41,
														},
														File:   "filter_by_regex_compile_test.flux",
														Source: "v: \".*0\"",
														Start: ast.Position{
															Column: 51,
															Line:   41,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 59,
																Line:   41,
															},
															File:   "filter_by_regex_compile_test.flux",
															Source: "v: \".*0\"",
															Start: ast.Position{
																Column: 51,
																Line:   41,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 52,
																	Line:   41,
																},
																File:   "filter_by_regex_compile_test.flux",
																Source: "v",
																Start: ast.Position{
																	Column: 51,
																	Line:   41,
																},
															},
														},
														Name: "v",
													},
													Separator: nil,
													Value: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 59,
																	Line:   41,
																},
																File:   "filter_by_regex_compile_test.flux",
																Source: "\".*0\"",
																Start: ast.Position{
																	Column: 54,
																	Line:   41,
																},
															},
														},
														Value: ".*0",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   41,
													},
													File:   "filter_by_regex_compile_test.flux",
													Source: "regexp.compile(v: \".*0\")",
													Start: ast.Position{
														Column: 36,
														Line:   41,
													},
												},
											},
											Callee: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 50,
															Line:   41,
														},
														File:   "filter_by_regex_compile_test.flux",
														Source: "regexp.compile",
														Start: ast.Position{
															Column: 36,
															Line:   41,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 42,
																Line:   41,
															},
															File:   "filter_by_regex_compile_test.flux",
															Source: "regexp",
															Start: ast.Position{
																Column: 36,
																Line:   41,
															},
														},
													},
													Name: "regexp",
												},
												Property: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 50,
																Line:   41,
															},
															File:   "filter_by_regex_compile_test.flux",
															Source: "compile",
															Start: ast.Position{
																Column: 43,
																Line:   41,
															},
														},
													},
													Name: "compile",
												},
												Rbrack: nil,
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   41,
												},
												File:   "filter_by_regex_compile_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   41,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   41,
													},
													File:   "filter_by_regex_compile_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   41,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 61,
									Line:   41,
								},
								File:   "filter_by_regex_compile_test.flux",
								Source: "filter(fn: (r) => r.name =~ regexp.compile(v: \".*0\"))",
								Start: ast.Position{
									Column: 8,
									Line:   41,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   41,
									},
									File:   "filter_by_regex_compile_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   41,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   39,
							},
							File:   "filter_by_regex_compile_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 22,
								Line:   39,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   39,
								},
								File:   "filter_by_regex_compile_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 22,
									Line:   39,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   39,
							},
							File:   "filter_by_regex_compile_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 28,
								Line:   39,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 134,
							Line:   43,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "_filter_by_regex = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
						Start: ast.Position{
							Column: 6,
							Line:   43,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   43,
							},
							File:   "filter_by_regex_compile_test.flux",
							Source: "_filter_by_regex",
							Start: ast.Position{
								Column: 6,
								Line:   43,
							},
						},
					},
					Name: "_filter_by_regex",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 134,
								Line:   43,
							},
							File:   "filter_by_regex_compile_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
							Start: ast.Position{
								Column: 25,
								Line:   43,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 134,
									Line:   43,
								},
								File:   "filter_by_regex_compile_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
								Start: ast.Position{
									Column: 31,
									Line:   43,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 133,
										Line:   43,
									},
									File:   "filter_by_regex_compile_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex}",
									Start: ast.Position{
										Column: 32,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 72,
											Line:   43,
										},
										File:   "filter_by_regex_compile_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 33,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   43,
											},
											File:   "filter_by_regex_compile_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 33,
												Line:   43,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   43,
												},
												File:   "filter_by_regex_compile_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 60,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   43,
													},
													File:   "filter_by_regex_compile_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 60,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   43,
														},
														File:   "filter_by_regex_compile_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 60,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   43,
														},
														File:   "filter_by_regex_compile_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 65,
															Line:   43,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   43,
											},
											File:   "filter_by_regex_compile_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 40,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   43,
												},
												File:   "filter_by_regex_compile_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 40,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   43,
													},
													File:   "filter_by_regex_compile_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 40,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   43,
													},
													File:   "filter_by_regex_compile_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 48,
														Line:   43,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 109,
											Line:   43,
										},
										File:   "filter_by_regex_compile_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 74,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   43,
											},
											File:   "filter_by_regex_compile_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 74,
												Line:   43,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 108,
													Line:   43,
												},
												File:   "filter_by_regex_compile_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 96,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 108,
														Line:   43,
													},
													File:   "filter_by_regex_compile_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 96,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   43,
														},
														File:   "filter_by_regex_compile_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 96,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 108,
															Line:   43,
														},
														File:   "filter_by_regex_compile_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 101,
															Line:   43,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   43,
											},
											File:   "filter_by_regex_compile_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 80,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   43,
												},
												File:   "filter_by_regex_compile_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 80,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   43,
													},
													File:   "filter_by_regex_compile_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 80,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 95,
														Line:   43,
													},
													File:   "filter_by_regex_compile_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 88,
														Line:   43,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 132,
											Line:   43,
										},
										File:   "filter_by_regex_compile_test.flux",
										Source: "fn: t_filter_by_regex",
										Start: ast.Position{
											Column: 111,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   43,
											},
											File:   "filter_by_regex_compile_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 111,
												Line:   43,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 132,
												Line:   43,
											},
											File:   "filter_by_regex_compile_test.flux",
											Source: "t_filter_by_regex",
											Start: ast.Position{
												Column: 115,
												Line:   43,
											},
										},
									},
									Name: "t_filter_by_regex",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 134,
						Line:   43,
					},
					File:   "filter_by_regex_compile_test.flux",
					Source: "test _filter_by_regex = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "filter_by_regex_compile_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 16,
						Line:   5,
					},
					File:   "filter_by_regex_compile_test.flux",
					Source: "import \"regexp\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   5,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "\"regexp\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "regexp",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "filter_by_regex_compile_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "filter_by_regex_compile_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "filter_by_regex_compile_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 152,
					Line:   44,
				},
				File:   "filter_by_regex_function_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,ixo_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,,,ixo_time,diskio,host.local,disk2\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n\"\nregexFunc = (table=<-, regLiteral) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ regLiteral)\n    |> max()\nt_filter_by_regex_function = (table=<-) => table\n    |> regexFunc(regLiteral: /io.*/)\n\ntest _filter_by_regex_function = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex_function})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "filter_by_regex_function_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "filter_by_regex_function_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "filter_by_regex_function_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,ixo_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,ixo_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,ixo_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,ixo_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   36,
					},
					File:   "filter_by_regex_function_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,,,ixo_time,diskio,host.local,disk2\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   36,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,,,ixo_time,diskio,host.local,disk2\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,,,ixo_time,diskio,host.local,disk2\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   40,
					},
					File:   "filter_by_regex_function_test.flux",
					Source: "regexFunc = (table=<-, regLiteral) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ regLiteral)\n    |> max()",
					Start: ast.Position{
						Column: 1,
						Line:   37,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   37,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "regexFunc",
						Start: ast.Position{
							Column: 1,
							Line:   37,
						},
					},
				},
				Name: "regexFunc",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   40,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "(table=<-, regLiteral) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ regLiteral)\n    |> max()",
						Start: ast.Position{
							Column: 13,
							Line:   37,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   37,
										},
										File:   "filter_by_regex_function_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 39,
											Line:   37,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   38,
									},
									File:   "filter_by_regex_function_test.flux",
									Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)",
									Start: ast.Position{
										Column: 39,
										Line:   37,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   38,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "start: 2018-05-20T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   38,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   38,
												},
												File:   "filter_by_regex_function_test.flux",
												Source: "start: 2018-05-20T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   38,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   38,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   38,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   38,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "2018-05-20T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   38,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-20T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   38,
										},
										File:   "filter_by_regex_function_test.flux",
										Source: "range(start: 2018-05-20T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   38,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   38,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   38,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   39,
								},
								File:   "filter_by_regex_function_test.flux",
								Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ regLiteral)",
								Start: ast.Position{
									Column: 39,
									Line:   37,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   39,
										},
										File:   "filter_by_regex_function_test.flux",
										Source: "fn: (r) => r._field =~ regLiteral",
										Start: ast.Position{
											Column: 15,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   39,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "fn: (r) => r._field =~ regLiteral",
											Start: ast.Position{
												Column: 15,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   39,
												},
												File:   "filter_by_regex_function_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   39,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   39,
												},
												File:   "filter_by_regex_function_test.flux",
												Source: "(r) => r._field =~ regLiteral",
												Start: ast.Position{
													Column: 19,
													Line:   39,
												},
											},
										},
										Body: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   39,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "r._field =~ regLiteral",
													Start: ast.Position{
														Column: 26,
														Line:   39,
													},
												},
											},
											Left: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   39,
														},
														File:   "filter_by_regex_function_test.flux",
														Source: "r._field",
														Start: ast.Position{
															Column: 26,
															Line:   39,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   39,
															},
															File:   "filter_by_regex_function_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 26,
																Line:   39,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 34,
																Line:   39,
															},
															File:   "filter_by_regex_function_test.flux",
															Source: "_field",
															Start: ast.Position{
																Column: 28,
																Line:   39,
															},
														},
													},
													Name: "_field",
												},
												Rbrack: nil,
											},
											Operator: 19,
											Right: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   39,
														},
														File:   "filter_by_regex_function_test.flux",
														Source: "regLiteral",
														Start: ast.Position{
															Column: 38,
															Line:   39,
														},
													},
												},
												Name: "regLiteral",
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   39,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   39,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   39,
														},
														File:   "filter_by_regex_function_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   39,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 49,
										Line:   39,
									},
									File:   "filter_by_regex_function_test.flux",
									Source: "filter(fn: (r) => r._field =~ regLiteral)",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   39,
										},
										File:   "filter_by_regex_function_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   40,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ regLiteral)\n    |> max()",
							Start: ast.Position{
								Column: 39,
								Line:   37,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   40,
								},
								File:   "filter_by_regex_function_test.flux",
								Source: "max()",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   40,
									},
									File:   "filter_by_regex_function_test.flux",
									Source: "max",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "max",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   37,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 14,
								Line:   37,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   37,
								},
								File:   "filter_by_regex_function_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 14,
									Line:   37,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   37,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 20,
								Line:   37,
							},
						},
					}},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 34,
								Line:   37,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "regLiteral",
							Start: ast.Position{
								Column: 24,
								Line:   37,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 34,
									Line:   37,
								},
								File:   "filter_by_regex_function_test.flux",
								Source: "regLiteral",
								Start: ast.Position{
									Column: 24,
									Line:   37,
								},
							},
						},
						Name: "regLiteral",
					},
					Separator: nil,
					Value:     nil,
				}},
				Rparan: nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 37,
						Line:   42,
					},
					File:   "filter_by_regex_function_test.flux",
					Source: "t_filter_by_regex_function = (table=<-) => table\n    |> regexFunc(regLiteral: /io.*/)",
					Start: ast.Position{
						Column: 1,
						Line:   41,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 27,
							Line:   41,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "t_filter_by_regex_function",
						Start: ast.Position{
							Column: 1,
							Line:   41,
						},
					},
				},
				Name: "t_filter_by_regex_function",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 37,
							Line:   42,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "(table=<-) => table\n    |> regexFunc(regLiteral: /io.*/)",
						Start: ast.Position{
							Column: 30,
							Line:   41,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   41,
								},
								File:   "filter_by_regex_function_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 44,
									Line:   41,
								},
							},
						},
						Name: "table",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 37,
								Line:   42,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "table\n    |> regexFunc(regLiteral: /io.*/)",
							Start: ast.Position{
								Column: 44,
								Line:   41,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 36,
										Line:   42,
									},
									File:   "filter_by_regex_function_test.flux",
									Source: "regLiteral: /io.*/",
									Start: ast.Position{
										Column: 18,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   42,
										},
										File:   "filter_by_regex_function_test.flux",
										Source: "regLiteral: /io.*/",
										Start: ast.Position{
											Column: 18,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   42,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "regLiteral",
											Start: ast.Position{
												Column: 18,
												Line:   42,
											},
										},
									},
									Name: "regLiteral",
								},
								Separator: nil,
								Value: &ast.RegexpLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   42,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "/io.*/",
											Start: ast.Position{
												Column: 30,
												Line:   42,
											},
										},
									},
									Value: regexp.MustCompile("io.*"),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   42,
								},
								File:   "filter_by_regex_function_test.flux",
								Source: "regexFunc(regLiteral: /io.*/)",
								Start: ast.Position{
									Column: 8,
									Line:   42,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   42,
									},
									File:   "filter_by_regex_function_test.flux",
									Source: "regexFunc",
									Start: ast.Position{
										Column: 8,
										Line:   42,
									},
								},
							},
							Name: "regexFunc",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   41,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 31,
								Line:   41,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 36,
									Line:   41,
								},
								File:   "filter_by_regex_function_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 31,
									Line:   41,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   41,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 37,
								Line:   41,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 152,
							Line:   44,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "_filter_by_regex_function = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex_function})",
						Start: ast.Position{
							Column: 6,
							Line:   44,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   44,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "_filter_by_regex_function",
							Start: ast.Position{
								Column: 6,
								Line:   44,
							},
						},
					},
					Name: "_filter_by_regex_function",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 152,
								Line:   44,
							},
							File:   "filter_by_regex_function_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex_function})",
							Start: ast.Position{
								Column: 34,
								Line:   44,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 152,
									Line:   44,
								},
								File:   "filter_by_regex_function_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex_function})",
								Start: ast.Position{
									Column: 40,
									Line:   44,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 151,
										Line:   44,
									},
									File:   "filter_by_regex_function_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex_function}",
									Start: ast.Position{
										Column: 41,
										Line:   44,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 81,
											Line:   44,
										},
										File:   "filter_by_regex_function_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 42,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   44,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 42,
												Line:   44,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 80,
													Line:   44,
												},
												File:   "filter_by_regex_function_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 69,
													Line:   44,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   44,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 69,
														Line:   44,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   44,
														},
														File:   "filter_by_regex_function_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 69,
															Line:   44,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 80,
															Line:   44,
														},
														File:   "filter_by_regex_function_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 74,
															Line:   44,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   44,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 49,
												Line:   44,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   44,
												},
												File:   "filter_by_regex_function_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 49,
													Line:   44,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   44,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 49,
														Line:   44,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   44,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 57,
														Line:   44,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 118,
											Line:   44,
										},
										File:   "filter_by_regex_function_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 83,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 87,
												Line:   44,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 83,
												Line:   44,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 117,
													Line:   44,
												},
												File:   "filter_by_regex_function_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 105,
													Line:   44,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 117,
														Line:   44,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 105,
														Line:   44,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 108,
															Line:   44,
														},
														File:   "filter_by_regex_function_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 105,
															Line:   44,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 117,
															Line:   44,
														},
														File:   "filter_by_regex_function_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 110,
															Line:   44,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   44,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 89,
												Line:   44,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   44,
												},
												File:   "filter_by_regex_function_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 89,
													Line:   44,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   44,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 89,
														Line:   44,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   44,
													},
													File:   "filter_by_regex_function_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 97,
														Line:   44,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 150,
											Line:   44,
										},
										File:   "filter_by_regex_function_test.flux",
										Source: "fn: t_filter_by_regex_function",
										Start: ast.Position{
											Column: 120,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   44,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 120,
												Line:   44,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 150,
												Line:   44,
											},
											File:   "filter_by_regex_function_test.flux",
											Source: "t_filter_by_regex_function",
											Start: ast.Position{
												Column: 124,
												Line:   44,
											},
										},
									},
									Name: "t_filter_by_regex_function",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 152,
						Line:   44,
					},
					File:   "filter_by_regex_function_test.flux",
					Source: "test _filter_by_regex_function = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex_function})",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "filter_by_regex_function_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "filter_by_regex_function_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "filter_by_regex_function_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "filter_by_regex_function_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 134,
					Line:   43,
				},
				File:   "filter_by_regex_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"regexp\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n\"\nt_filter_by_regex = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r[\"name\"] =~ /.*0/)\n\ntest _filter_by_regex = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "filter_by_regex_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "filter_by_regex_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "filter_by_regex_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "filter_by_regex_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "filter_by_regex_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "filter_by_regex_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "filter_by_regex_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "filter_by_regex_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   38,
					},
					File:   "filter_by_regex_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   27,
						},
						File:   "filter_by_regex_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   38,
						},
						File:   "filter_by_regex_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   27,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 45,
						Line:   41,
					},
					File:   "filter_by_regex_test.flux",
					Source: "t_filter_by_regex = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r[\"name\"] =~ /.*0/)",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 18,
							Line:   39,
						},
						File:   "filter_by_regex_test.flux",
						Source: "t_filter_by_regex",
						Start: ast.Position{
							Column: 1,
							Line:   39,
						},
					},
				},
				Name: "t_filter_by_regex",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 45,
							Line:   41,
						},
						File:   "filter_by_regex_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r[\"name\"] =~ /.*0/)",
						Start: ast.Position{
							Column: 21,
							Line:   39,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 40,
										Line:   39,
									},
									File:   "filter_by_regex_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 35,
										Line:   39,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   40,
								},
								File:   "filter_by_regex_test.flux",
								Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)",
								Start: ast.Position{
									Column: 35,
									Line:   39,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   40,
										},
										File:   "filter_by_regex_test.flux",
										Source: "start: 2018-05-20T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   40,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   40,
											},
											File:   "filter_by_regex_test.flux",
											Source: "start: 2018-05-20T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   40,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   40,
												},
												File:   "filter_by_regex_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   40,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   40,
												},
												File:   "filter_by_regex_test.flux",
												Source: "2018-05-20T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   40,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-20T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   40,
									},
									File:   "filter_by_regex_test.flux",
									Source: "range(start: 2018-05-20T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   40,
										},
										File:   "filter_by_regex_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   40,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 45,
								Line:   41,
							},
							File:   "filter_by_regex_test.flux",
							Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r[\"name\"] =~ /.*0/)",
							Start: ast.Position{
								Column: 35,
								Line:   39,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 44,
										Line:   41,
									},
									File:   "filter_by_regex_test.flux",
									Source: "fn: (r) => r[\"name\"] =~ /.*0/",
									Start: ast.Position{
										Column: 15,
										Line:   41,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   41,
										},
										File:   "filter_by_regex_test.flux",
										Source: "fn: (r) => r[\"name\"] =~ /.*0/",
										Start: ast.Position{
											Column: 15,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   41,
											},
											File:   "filter_by_regex_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   41,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   41,
											},
											File:   "filter_by_regex_test.flux",
											Source: "(r) => r[\"name\"] =~ /.*0/",
											Start: ast.Position{
												Column: 19,
												Line:   41,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   41,
												},
												File:   "filter_by_regex_test.flux",
												Source: "r[\"name\"] =~ /.*0/",
												Start: ast.Position{
													Column: 26,
													Line:   41,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   41,
													},
													File:   "filter_by_regex_test.flux",
													Source: "r[\"name\"]",
													Start: ast.Position{
														Column: 26,
														Line:   41,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   41,
														},
														File:   "filter_by_regex_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   41,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   41,
														},
														File:   "filter_by_regex_test.flux",
														Source: "\"name\"",
														Start: ast.Position{
															Column: 28,
															Line:   41,
														},
													},
												},
												Value: "name",
											},
											Rbrack: nil,
										},
										Operator: 19,
										Right: &ast.RegexpLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   41,
													},
													File:   "filter_by_regex_test.flux",
													Source: "/.*0/",
													Start: ast.Position{
														Column: 39,
														Line:   41,
													},
												},
											},
											Value: regexp.MustCompile(".*0"),
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   41,
												},
												File:   "filter_by_regex_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   41,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   41,
													},
													File:   "filter_by_regex_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   41,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 45,
									Line:   41,
								},
								File:   "filter_by_regex_test.flux",
								Source: "filter(fn: (r) => r[\"name\"] =~ /.*0/)",
								Start: ast.Position{
									Column: 8,
									Line:   41,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   41,
									},
									File:   "filter_by_regex_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   41,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   39,
							},
							File:   "filter_by_regex_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 22,
								Line:   39,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   39,
								},
								File:   "filter_by_regex_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 22,
									Line:   39,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   39,
							},
							File:   "filter_by_regex_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 28,
								Line:   39,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 134,
							Line:   43,
						},
						File:   "filter_by_regex_test.flux",
						Source: "_filter_by_regex = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
						Start: ast.Position{
							Column: 6,
							Line:   43,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   43,
							},
							File:   "filter_by_regex_test.flux",
							Source: "_filter_by_regex",
							Start: ast.Position{
								Column: 6,
								Line:   43,
							},
						},
					},
					Name: "_filter_by_regex",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 134,
								Line:   43,
							},
							File:   "filter_by_regex_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
							Start: ast.Position{
								Column: 25,
								Line:   43,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 134,
									Line:   43,
								},
								File:   "filter_by_regex_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
								Start: ast.Position{
									Column: 31,
									Line:   43,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 133,
										Line:   43,
									},
									File:   "filter_by_regex_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex}",
									Start: ast.Position{
										Column: 32,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 72,
											Line:   43,
										},
										File:   "filter_by_regex_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 33,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   43,
											},
											File:   "filter_by_regex_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 33,
												Line:   43,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   43,
												},
												File:   "filter_by_regex_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 60,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   43,
													},
													File:   "filter_by_regex_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 60,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   43,
														},
														File:   "filter_by_regex_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 60,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   43,
														},
														File:   "filter_by_regex_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 65,
															Line:   43,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   43,
											},
											File:   "filter_by_regex_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 40,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   43,
												},
												File:   "filter_by_regex_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 40,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   43,
													},
													File:   "filter_by_regex_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 40,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   43,
													},
													File:   "filter_by_regex_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 48,
														Line:   43,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 109,
											Line:   43,
										},
										File:   "filter_by_regex_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 74,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   43,
											},
											File:   "filter_by_regex_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 74,
												Line:   43,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 108,
													Line:   43,
												},
												File:   "filter_by_regex_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 96,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 108,
														Line:   43,
													},
													File:   "filter_by_regex_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 96,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   43,
														},
														File:   "filter_by_regex_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 96,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 108,
															Line:   43,
														},
														File:   "filter_by_regex_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 101,
															Line:   43,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   43,
											},
											File:   "filter_by_regex_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 80,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   43,
												},
												File:   "filter_by_regex_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 80,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   43,
													},
													File:   "filter_by_regex_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 80,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 95,
														Line:   43,
													},
													File:   "filter_by_regex_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 88,
														Line:   43,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 132,
											Line:   43,
										},
										File:   "filter_by_regex_test.flux",
										Source: "fn: t_filter_by_regex",
										Start: ast.Position{
											Column: 111,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   43,
											},
											File:   "filter_by_regex_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 111,
												Line:   43,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 132,
												Line:   43,
											},
											File:   "filter_by_regex_test.flux",
											Source: "t_filter_by_regex",
											Start: ast.Position{
												Column: 115,
												Line:   43,
											},
										},
									},
									Name: "t_filter_by_regex",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 134,
						Line:   43,
					},
					File:   "filter_by_regex_test.flux",
					Source: "test _filter_by_regex = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_regex})",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "filter_by_regex_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "filter_by_regex_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 16,
						Line:   5,
					},
					File:   "filter_by_regex_test.flux",
					Source: "import \"regexp\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   5,
						},
						File:   "filter_by_regex_test.flux",
						Source: "\"regexp\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "regexp",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "filter_by_regex_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "filter_by_regex_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "filter_by_regex_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   42,
				},
				File:   "filter_by_tags_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n\"\nt_filter_by_tags = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"name\"] == \"disk0\")\n\ntest _filter_by_tags = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "filter_by_tags_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "filter_by_tags_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "filter_by_tags_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "filter_by_tags_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "filter_by_tags_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "filter_by_tags_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "filter_by_tags_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "filter_by_tags_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "filter_by_tags_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "filter_by_tags_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "filter_by_tags_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 47,
						Line:   40,
					},
					File:   "filter_by_tags_test.flux",
					Source: "t_filter_by_tags = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"name\"] == \"disk0\")",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   38,
						},
						File:   "filter_by_tags_test.flux",
						Source: "t_filter_by_tags",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_filter_by_tags",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 47,
							Line:   40,
						},
						File:   "filter_by_tags_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"name\"] == \"disk0\")",
						Start: ast.Position{
							Column: 20,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   38,
									},
									File:   "filter_by_tags_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   38,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   39,
								},
								File:   "filter_by_tags_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 34,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   39,
										},
										File:   "filter_by_tags_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "filter_by_tags_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   39,
												},
												File:   "filter_by_tags_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   39,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   39,
												},
												File:   "filter_by_tags_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   39,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   39,
									},
									File:   "filter_by_tags_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   39,
										},
										File:   "filter_by_tags_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 47,
								Line:   40,
							},
							File:   "filter_by_tags_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"name\"] == \"disk0\")",
							Start: ast.Position{
								Column: 34,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   40,
									},
									File:   "filter_by_tags_test.flux",
									Source: "fn: (r) => r[\"name\"] == \"disk0\"",
									Start: ast.Position{
										Column: 15,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   40,
										},
										File:   "filter_by_tags_test.flux",
										Source: "fn: (r) => r[\"name\"] == \"disk0\"",
										Start: ast.Position{
											Column: 15,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   40,
											},
											File:   "filter_by_tags_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   40,
											},
											File:   "filter_by_tags_test.flux",
											Source: "(r) => r[\"name\"] == \"disk0\"",
											Start: ast.Position{
												Column: 19,
												Line:   40,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   40,
												},
												File:   "filter_by_tags_test.flux",
												Source: "r[\"name\"] == \"disk0\"",
												Start: ast.Position{
													Column: 26,
													Line:   40,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   40,
													},
													File:   "filter_by_tags_test.flux",
													Source: "r[\"name\"]",
													Start: ast.Position{
														Column: 26,
														Line:   40,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   40,
														},
														File:   "filter_by_tags_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   40,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   40,
														},
														File:   "filter_by_tags_test.flux",
														Source: "\"name\"",
														Start: ast.Position{
															Column: 28,
															Line:   40,
														},
													},
												},
												Value: "name",
											},
											Rbrack: nil,
										},
										Operator: 17,
										Right: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   40,
													},
													File:   "filter_by_tags_test.flux",
													Source: "\"disk0\"",
													Start: ast.Position{
														Column: 39,
														Line:   40,
													},
												},
											},
											Value: "disk0",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   40,
												},
												File:   "filter_by_tags_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   40,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   40,
													},
													File:   "filter_by_tags_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   40,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 47,
									Line:   40,
								},
								File:   "filter_by_tags_test.flux",
								Source: "filter(fn: (r) => r[\"name\"] == \"disk0\")",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   40,
									},
									File:   "filter_by_tags_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   38,
							},
							File:   "filter_by_tags_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   38,
								},
								File:   "filter_by_tags_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   38,
							},
							File:   "filter_by_tags_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   42,
						},
						File:   "filter_by_tags_test.flux",
						Source: "_filter_by_tags = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   42,
							},
							File:   "filter_by_tags_test.flux",
							Source: "_filter_by_tags",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_filter_by_tags",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   42,
							},
							File:   "filter_by_tags_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
							Start: ast.Position{
								Column: 24,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   42,
								},
								File:   "filter_by_tags_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
								Start: ast.Position{
									Column: 30,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   42,
									},
									File:   "filter_by_tags_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags}",
									Start: ast.Position{
										Column: 31,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   42,
										},
										File:   "filter_by_tags_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   42,
											},
											File:   "filter_by_tags_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   42,
												},
												File:   "filter_by_tags_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   42,
													},
													File:   "filter_by_tags_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   42,
														},
														File:   "filter_by_tags_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   42,
														},
														File:   "filter_by_tags_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   42,
											},
											File:   "filter_by_tags_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   42,
												},
												File:   "filter_by_tags_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   42,
													},
													File:   "filter_by_tags_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   42,
													},
													File:   "filter_by_tags_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   42,
										},
										File:   "filter_by_tags_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   42,
											},
											File:   "filter_by_tags_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   42,
												},
												File:   "filter_by_tags_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   42,
													},
													File:   "filter_by_tags_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   42,
														},
														File:   "filter_by_tags_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   42,
														},
														File:   "filter_by_tags_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   42,
											},
											File:   "filter_by_tags_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   42,
												},
												File:   "filter_by_tags_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   42,
													},
													File:   "filter_by_tags_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   42,
													},
													File:   "filter_by_tags_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   42,
										},
										File:   "filter_by_tags_test.flux",
										Source: "fn: t_filter_by_tags",
										Start: ast.Position{
											Column: 110,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   42,
											},
											File:   "filter_by_tags_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   42,
											},
											File:   "filter_by_tags_test.flux",
											Source: "t_filter_by_tags",
											Start: ast.Position{
												Column: 114,
												Line:   42,
											},
										},
									},
									Name: "t_filter_by_tags",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   42,
					},
					File:   "filter_by_tags_test.flux",
					Source: "test _filter_by_tags = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "filter_by_tags_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "filter_by_tags_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "filter_by_tags_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "filter_by_tags_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "filter_by_tags_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 138,
					Line:   38,
				},
				File:   "filter_drop_empty_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n\"\nt_filter_drop_empty = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000)\n    |> count()\n\ntest _filter_drop_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_drop_empty})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "filter_drop_empty_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "filter_drop_empty_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "filter_drop_empty_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "filter_drop_empty_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "filter_drop_empty_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   32,
					},
					File:   "filter_drop_empty_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   32,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   36,
					},
					File:   "filter_drop_empty_test.flux",
					Source: "t_filter_drop_empty = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000)\n    |> count()",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   33,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "t_filter_drop_empty",
						Start: ast.Position{
							Column: 1,
							Line:   33,
						},
					},
				},
				Name: "t_filter_drop_empty",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   36,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000)\n    |> count()",
						Start: ast.Position{
							Column: 23,
							Line:   33,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   33,
										},
										File:   "filter_drop_empty_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 37,
											Line:   33,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   34,
									},
									File:   "filter_drop_empty_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 37,
										Line:   33,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   34,
											},
											File:   "filter_drop_empty_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   34,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   34,
												},
												File:   "filter_drop_empty_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   34,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   34,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   34,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   34,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   34,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   34,
										},
										File:   "filter_drop_empty_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   34,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   34,
											},
											File:   "filter_drop_empty_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   34,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 45,
									Line:   35,
								},
								File:   "filter_drop_empty_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000)",
								Start: ast.Position{
									Column: 37,
									Line:   33,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   35,
										},
										File:   "filter_drop_empty_test.flux",
										Source: "fn: (r) => r[\"_value\"] > 1000",
										Start: ast.Position{
											Column: 15,
											Line:   35,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   35,
											},
											File:   "filter_drop_empty_test.flux",
											Source: "fn: (r) => r[\"_value\"] > 1000",
											Start: ast.Position{
												Column: 15,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   35,
												},
												File:   "filter_drop_empty_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   35,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   35,
												},
												File:   "filter_drop_empty_test.flux",
												Source: "(r) => r[\"_value\"] > 1000",
												Start: ast.Position{
													Column: 19,
													Line:   35,
												},
											},
										},
										Body: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   35,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "r[\"_value\"] > 1000",
													Start: ast.Position{
														Column: 26,
														Line:   35,
													},
												},
											},
											Left: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 37,
															Line:   35,
														},
														File:   "filter_drop_empty_test.flux",
														Source: "r[\"_value\"]",
														Start: ast.Position{
															Column: 26,
															Line:   35,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   35,
															},
															File:   "filter_drop_empty_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 26,
																Line:   35,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 36,
																Line:   35,
															},
															File:   "filter_drop_empty_test.flux",
															Source: "\"_value\"",
															Start: ast.Position{
																Column: 28,
																Line:   35,
															},
														},
													},
													Value: "_value",
												},
												Rbrack: nil,
											},
											Operator: 10,
											Right: &ast.IntegerLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   35,
														},
														File:   "filter_drop_empty_test.flux",
														Source: "1000",
														Start: ast.Position{
															Column: 40,
															Line:   35,
														},
													},
												},
												Value: int64(1000),
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   35,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   35,
														},
														File:   "filter_drop_empty_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   35,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   35,
									},
									File:   "filter_drop_empty_test.flux",
									Source: "filter(fn: (r) => r[\"_value\"] > 1000)",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   35,
										},
										File:   "filter_drop_empty_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   35,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   36,
							},
							File:   "filter_drop_empty_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000)\n    |> count()",
							Start: ast.Position{
								Column: 37,
								Line:   33,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   36,
								},
								File:   "filter_drop_empty_test.flux",
								Source: "count()",
								Start: ast.Position{
									Column: 8,
									Line:   36,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   36,
									},
									File:   "filter_drop_empty_test.flux",
									Source: "count",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Name: "count",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   33,
							},
							File:   "filter_drop_empty_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 24,
								Line:   33,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 29,
									Line:   33,
								},
								File:   "filter_drop_empty_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 24,
									Line:   33,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   33,
							},
							File:   "filter_drop_empty_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 30,
								Line:   33,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 138,
							Line:   38,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "_filter_drop_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_drop_empty})",
						Start: ast.Position{
							Column: 6,
							Line:   38,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   38,
							},
							File:   "filter_drop_empty_test.flux",
							Source: "_filter_drop_empty",
							Start: ast.Position{
								Column: 6,
								Line:   38,
							},
						},
					},
					Name: "_filter_drop_empty",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 138,
								Line:   38,
							},
							File:   "filter_drop_empty_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_drop_empty})",
							Start: ast.Position{
								Column: 27,
								Line:   38,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 138,
									Line:   38,
								},
								File:   "filter_drop_empty_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_drop_empty})",
								Start: ast.Position{
									Column: 33,
									Line:   38,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 137,
										Line:   38,
									},
									File:   "filter_drop_empty_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_drop_empty}",
									Start: ast.Position{
										Column: 34,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   38,
										},
										File:   "filter_drop_empty_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 35,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   38,
											},
											File:   "filter_drop_empty_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 35,
												Line:   38,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   38,
												},
												File:   "filter_drop_empty_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 62,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   38,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 62,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   38,
														},
														File:   "filter_drop_empty_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 62,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   38,
														},
														File:   "filter_drop_empty_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 67,
															Line:   38,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   38,
											},
											File:   "filter_drop_empty_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 42,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   38,
												},
												File:   "filter_drop_empty_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 42,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   38,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 42,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   38,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 50,
														Line:   38,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   38,
										},
										File:   "filter_drop_empty_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 76,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   38,
											},
											File:   "filter_drop_empty_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 76,
												Line:   38,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 110,
													Line:   38,
												},
												File:   "filter_drop_empty_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 98,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 110,
														Line:   38,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 98,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   38,
														},
														File:   "filter_drop_empty_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 98,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 110,
															Line:   38,
														},
														File:   "filter_drop_empty_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 103,
															Line:   38,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   38,
											},
											File:   "filter_drop_empty_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 82,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   38,
												},
												File:   "filter_drop_empty_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 82,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   38,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 82,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   38,
													},
													File:   "filter_drop_empty_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 90,
														Line:   38,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 136,
											Line:   38,
										},
										File:   "filter_drop_empty_test.flux",
										Source: "fn: t_filter_drop_empty",
										Start: ast.Position{
											Column: 113,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   38,
											},
											File:   "filter_drop_empty_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 113,
												Line:   38,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 136,
												Line:   38,
											},
											File:   "filter_drop_empty_test.flux",
											Source: "t_filter_drop_empty",
											Start: ast.Position{
												Column: 117,
												Line:   38,
											},
										},
									},
									Name: "t_filter_drop_empty",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 138,
						Line:   38,
					},
					File:   "filter_drop_empty_test.flux",
					Source: "test _filter_drop_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_drop_empty})",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "filter_drop_empty_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "filter_drop_empty_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "filter_drop_empty_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "filter_drop_empty_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 138,
					Line:   39,
				},
				File:   "filter_keep_empty_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,0\n\"\nt_filter_keep_empty = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")\n    |> count()\n\ntest _filter_keep_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_keep_empty})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "filter_keep_empty_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "filter_keep_empty_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "filter_keep_empty_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "filter_keep_empty_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "filter_keep_empty_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   33,
					},
					File:   "filter_keep_empty_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   33,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   37,
					},
					File:   "filter_keep_empty_test.flux",
					Source: "t_filter_keep_empty = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")\n    |> count()",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   34,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "t_filter_keep_empty",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "t_filter_keep_empty",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   37,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")\n    |> count()",
						Start: ast.Position{
							Column: 23,
							Line:   34,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   34,
										},
										File:   "filter_keep_empty_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 37,
											Line:   34,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   35,
									},
									File:   "filter_keep_empty_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 37,
										Line:   34,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   35,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   35,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   35,
												},
												File:   "filter_keep_empty_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   35,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   35,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   35,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   35,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   35,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   35,
										},
										File:   "filter_keep_empty_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   35,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   35,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   35,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 62,
									Line:   36,
								},
								File:   "filter_keep_empty_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")",
								Start: ast.Position{
									Column: 37,
									Line:   34,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   36,
										},
										File:   "filter_keep_empty_test.flux",
										Source: "fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\"",
										Start: ast.Position{
											Column: 15,
											Line:   36,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   36,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "fn: (r) => r[\"_value\"] > 1000",
											Start: ast.Position{
												Column: 15,
												Line:   36,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   36,
												},
												File:   "filter_keep_empty_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   36,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   36,
												},
												File:   "filter_keep_empty_test.flux",
												Source: "(r) => r[\"_value\"] > 1000",
												Start: ast.Position{
													Column: 19,
													Line:   36,
												},
											},
										},
										Body: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   36,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "r[\"_value\"] > 1000",
													Start: ast.Position{
														Column: 26,
														Line:   36,
													},
												},
											},
											Left: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 37,
															Line:   36,
														},
														File:   "filter_keep_empty_test.flux",
														Source: "r[\"_value\"]",
														Start: ast.Position{
															Column: 26,
															Line:   36,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   36,
															},
															File:   "filter_keep_empty_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 26,
																Line:   36,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 36,
																Line:   36,
															},
															File:   "filter_keep_empty_test.flux",
															Source: "\"_value\"",
															Start: ast.Position{
																Column: 28,
																Line:   36,
															},
														},
													},
													Value: "_value",
												},
												Rbrack: nil,
											},
											Operator: 10,
											Right: &ast.IntegerLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   36,
														},
														File:   "filter_keep_empty_test.flux",
														Source: "1000",
														Start: ast.Position{
															Column: 40,
															Line:   36,
														},
													},
												},
												Value: int64(1000),
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   36,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   36,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   36,
														},
														File:   "filter_keep_empty_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   36,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   36,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "onEmpty: \"keep\"",
											Start: ast.Position{
												Column: 46,
												Line:   36,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   36,
												},
												File:   "filter_keep_empty_test.flux",
												Source: "onEmpty",
												Start: ast.Position{
													Column: 46,
													Line:   36,
												},
											},
										},
										Name: "onEmpty",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   36,
												},
												File:   "filter_keep_empty_test.flux",
												Source: "\"keep\"",
												Start: ast.Position{
													Column: 55,
													Line:   36,
												},
											},
										},
										Value: "keep",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 62,
										Line:   36,
									},
									File:   "filter_keep_empty_test.flux",
									Source: "filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   36,
										},
										File:   "filter_keep_empty_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   36,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   37,
							},
							File:   "filter_keep_empty_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")\n    |> count()",
							Start: ast.Position{
								Column: 37,
								Line:   34,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   37,
								},
								File:   "filter_keep_empty_test.flux",
								Source: "count()",
								Start: ast.Position{
									Column: 8,
									Line:   37,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   37,
									},
									File:   "filter_keep_empty_test.flux",
									Source: "count",
									Start: ast.Position{
										Column: 8,
										Line:   37,
									},
								},
							},
							Name: "count",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   34,
							},
							File:   "filter_keep_empty_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 24,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 29,
									Line:   34,
								},
								File:   "filter_keep_empty_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 24,
									Line:   34,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   34,
							},
							File:   "filter_keep_empty_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 30,
								Line:   34,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 138,
							Line:   39,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "_filter_keep_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_keep_empty})",
						Start: ast.Position{
							Column: 6,
							Line:   39,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   39,
							},
							File:   "filter_keep_empty_test.flux",
							Source: "_filter_keep_empty",
							Start: ast.Position{
								Column: 6,
								Line:   39,
							},
						},
					},
					Name: "_filter_keep_empty",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 138,
								Line:   39,
							},
							File:   "filter_keep_empty_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_keep_empty})",
							Start: ast.Position{
								Column: 27,
								Line:   39,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 138,
									Line:   39,
								},
								File:   "filter_keep_empty_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_keep_empty})",
								Start: ast.Position{
									Column: 33,
									Line:   39,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 137,
										Line:   39,
									},
									File:   "filter_keep_empty_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_keep_empty}",
									Start: ast.Position{
										Column: 34,
										Line:   39,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   39,
										},
										File:   "filter_keep_empty_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 35,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   39,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 35,
												Line:   39,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   39,
												},
												File:   "filter_keep_empty_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 62,
													Line:   39,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   39,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 62,
														Line:   39,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   39,
														},
														File:   "filter_keep_empty_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 62,
															Line:   39,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   39,
														},
														File:   "filter_keep_empty_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 67,
															Line:   39,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   39,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 42,
												Line:   39,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   39,
												},
												File:   "filter_keep_empty_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 42,
													Line:   39,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   39,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 42,
														Line:   39,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   39,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 50,
														Line:   39,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   39,
										},
										File:   "filter_keep_empty_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 76,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   39,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 76,
												Line:   39,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 110,
													Line:   39,
												},
												File:   "filter_keep_empty_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 98,
													Line:   39,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 110,
														Line:   39,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 98,
														Line:   39,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   39,
														},
														File:   "filter_keep_empty_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 98,
															Line:   39,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 110,
															Line:   39,
														},
														File:   "filter_keep_empty_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 103,
															Line:   39,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   39,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 82,
												Line:   39,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   39,
												},
												File:   "filter_keep_empty_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 82,
													Line:   39,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   39,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 82,
														Line:   39,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   39,
													},
													File:   "filter_keep_empty_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 90,
														Line:   39,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 136,
											Line:   39,
										},
										File:   "filter_keep_empty_test.flux",
										Source: "fn: t_filter_keep_empty",
										Start: ast.Position{
											Column: 113,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   39,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 113,
												Line:   39,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 136,
												Line:   39,
											},
											File:   "filter_keep_empty_test.flux",
											Source: "t_filter_keep_empty",
											Start: ast.Position{
												Column: 117,
												Line:   39,
											},
										},
									},
									Name: "t_filter_keep_empty",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 138,
						Line:   39,
					},
					File:   "filter_keep_empty_test.flux",
					Source: "test _filter_keep_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_keep_empty})",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "filter_keep_empty_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "filter_keep_empty_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "filter_keep_empty_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "filter_keep_empty_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 140,
					Line:   63,
				},
				File:   "filter_mixed_empty_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,2,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,2,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,2,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,2,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,2,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,3,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,3,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,3,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,3,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,3,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,3,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,4,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,4,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,4,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,4,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,4,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,4,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,0\n\"\nt_filter_mixed_empty = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\")\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")\n    |> count()\n\ntest _filter_mixed_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_mixed_empty})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "filter_mixed_empty_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "filter_mixed_empty_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "filter_mixed_empty_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "filter_mixed_empty_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   48,
					},
					File:   "filter_mixed_empty_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,2,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,2,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,2,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,2,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,2,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,3,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,3,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,3,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,3,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,3,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,3,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,4,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,4,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,4,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,4,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,4,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,4,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   48,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,2,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,2,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,2,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,2,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,2,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,3,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,3,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,3,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,3,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,3,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,3,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,4,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,4,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,4,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,4,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,4,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,4,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,2,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,2,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,2,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,2,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,2,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,3,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,3,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,3,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,3,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,3,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,3,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,4,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,4,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,4,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,4,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,4,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,4,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   56,
					},
					File:   "filter_mixed_empty_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   49,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   49,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   56,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   49,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long\n#group,false,false,true,true,true,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,6\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   61,
					},
					File:   "filter_mixed_empty_test.flux",
					Source: "t_filter_mixed_empty = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\")\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")\n    |> count()",
					Start: ast.Position{
						Column: 1,
						Line:   57,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 21,
							Line:   57,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "t_filter_mixed_empty",
						Start: ast.Position{
							Column: 1,
							Line:   57,
						},
					},
				},
				Name: "t_filter_mixed_empty",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   61,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\")\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")\n    |> count()",
						Start: ast.Position{
							Column: 24,
							Line:   57,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   57,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "table",
											Start: ast.Position{
												Column: 38,
												Line:   57,
											},
										},
									},
									Name: "table",
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   58,
										},
										File:   "filter_mixed_empty_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 38,
											Line:   57,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   58,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   58,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   58,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "start: 2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 14,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 19,
															Line:   58,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "start",
														Start: ast.Position{
															Column: 14,
															Line:   58,
														},
													},
												},
												Name: "start",
											},
											Separator: nil,
											Value: &ast.DateTimeLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   58,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 21,
															Line:   58,
														},
													},
												},
												Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   58,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "range(start: 2018-05-22T19:53:26Z)",
											Start: ast.Position{
												Column: 8,
												Line:   58,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 13,
													Line:   58,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "range",
												Start: ast.Position{
													Column: 8,
													Line:   58,
												},
											},
										},
										Name: "range",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 53,
										Line:   59,
									},
									File:   "filter_mixed_empty_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\")",
									Start: ast.Position{
										Column: 38,
										Line:   57,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   59,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "fn: (r) => r._measurement == \"diskio\"",
											Start: ast.Position{
												Column: 15,
												Line:   59,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   59,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "fn: (r) => r._measurement == \"diskio\"",
												Start: ast.Position{
													Column: 15,
													Line:   59,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   59,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 15,
														Line:   59,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   59,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "(r) => r._measurement == \"diskio\"",
													Start: ast.Position{
														Column: 19,
														Line:   59,
													},
												},
											},
											Body: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   59,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "r._measurement == \"diskio\"",
														Start: ast.Position{
															Column: 26,
															Line:   59,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 40,
																Line:   59,
															},
															File:   "filter_mixed_empty_test.flux",
															Source: "r._measurement",
															Start: ast.Position{
																Column: 26,
																Line:   59,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 27,
																	Line:   59,
																},
																File:   "filter_mixed_empty_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 26,
																	Line:   59,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   59,
																},
																File:   "filter_mixed_empty_test.flux",
																Source: "_measurement",
																Start: ast.Position{
																	Column: 28,
																	Line:   59,
																},
															},
														},
														Name: "_measurement",
													},
													Rbrack: nil,
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 52,
																Line:   59,
															},
															File:   "filter_mixed_empty_test.flux",
															Source: "\"diskio\"",
															Start: ast.Position{
																Column: 44,
																Line:   59,
															},
														},
													},
													Value: "diskio",
												},
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   59,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   59,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   59,
															},
															File:   "filter_mixed_empty_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 20,
																Line:   59,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 53,
											Line:   59,
										},
										File:   "filter_mixed_empty_test.flux",
										Source: "filter(fn: (r) => r._measurement == \"diskio\")",
										Start: ast.Position{
											Column: 8,
											Line:   59,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   59,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "filter",
											Start: ast.Position{
												Column: 8,
												Line:   59,
											},
										},
									},
									Name: "filter",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 62,
									Line:   60,
								},
								File:   "filter_mixed_empty_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\")\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")",
								Start: ast.Position{
									Column: 38,
									Line:   57,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   60,
										},
										File:   "filter_mixed_empty_test.flux",
										Source: "fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\"",
										Start: ast.Position{
											Column: 15,
											Line:   60,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   60,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "fn: (r) => r[\"_value\"] > 1000",
											Start: ast.Position{
												Column: 15,
												Line:   60,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   60,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   60,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   60,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "(r) => r[\"_value\"] > 1000",
												Start: ast.Position{
													Column: 19,
													Line:   60,
												},
											},
										},
										Body: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   60,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "r[\"_value\"] > 1000",
													Start: ast.Position{
														Column: 26,
														Line:   60,
													},
												},
											},
											Left: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 37,
															Line:   60,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "r[\"_value\"]",
														Start: ast.Position{
															Column: 26,
															Line:   60,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   60,
															},
															File:   "filter_mixed_empty_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 26,
																Line:   60,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 36,
																Line:   60,
															},
															File:   "filter_mixed_empty_test.flux",
															Source: "\"_value\"",
															Start: ast.Position{
																Column: 28,
																Line:   60,
															},
														},
													},
													Value: "_value",
												},
												Rbrack: nil,
											},
											Operator: 10,
											Right: &ast.IntegerLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   60,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "1000",
														Start: ast.Position{
															Column: 40,
															Line:   60,
														},
													},
												},
												Value: int64(1000),
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   60,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   60,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   60,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   60,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   60,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "onEmpty: \"keep\"",
											Start: ast.Position{
												Column: 46,
												Line:   60,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   60,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "onEmpty",
												Start: ast.Position{
													Column: 46,
													Line:   60,
												},
											},
										},
										Name: "onEmpty",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   60,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "\"keep\"",
												Start: ast.Position{
													Column: 55,
													Line:   60,
												},
											},
										},
										Value: "keep",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 62,
										Line:   60,
									},
									File:   "filter_mixed_empty_test.flux",
									Source: "filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")",
									Start: ast.Position{
										Column: 8,
										Line:   60,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   60,
										},
										File:   "filter_mixed_empty_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   60,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   61,
							},
							File:   "filter_mixed_empty_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\")\n    |> filter(fn: (r) => r[\"_value\"] > 1000, onEmpty: \"keep\")\n    |> count()",
							Start: ast.Position{
								Column: 38,
								Line:   57,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   61,
								},
								File:   "filter_mixed_empty_test.flux",
								Source: "count()",
								Start: ast.Position{
									Column: 8,
									Line:   61,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   61,
									},
									File:   "filter_mixed_empty_test.flux",
									Source: "count",
									Start: ast.Position{
										Column: 8,
										Line:   61,
									},
								},
							},
							Name: "count",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   57,
							},
							File:   "filter_mixed_empty_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 25,
								Line:   57,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   57,
								},
								File:   "filter_mixed_empty_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 25,
									Line:   57,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   57,
							},
							File:   "filter_mixed_empty_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 31,
								Line:   57,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 140,
							Line:   63,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "_filter_mixed_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_mixed_empty})",
						Start: ast.Position{
							Column: 6,
							Line:   63,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   63,
							},
							File:   "filter_mixed_empty_test.flux",
							Source: "_filter_mixed_empty",
							Start: ast.Position{
								Column: 6,
								Line:   63,
							},
						},
					},
					Name: "_filter_mixed_empty",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 140,
								Line:   63,
							},
							File:   "filter_mixed_empty_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_mixed_empty})",
							Start: ast.Position{
								Column: 28,
								Line:   63,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 140,
									Line:   63,
								},
								File:   "filter_mixed_empty_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_mixed_empty})",
								Start: ast.Position{
									Column: 34,
									Line:   63,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 139,
										Line:   63,
									},
									File:   "filter_mixed_empty_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_mixed_empty}",
									Start: ast.Position{
										Column: 35,
										Line:   63,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   63,
										},
										File:   "filter_mixed_empty_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 36,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   63,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 36,
												Line:   63,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   63,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 63,
													Line:   63,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   63,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 63,
														Line:   63,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   63,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 63,
															Line:   63,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   63,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 68,
															Line:   63,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   63,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 43,
												Line:   63,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   63,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 43,
													Line:   63,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   63,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 43,
														Line:   63,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   63,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 51,
														Line:   63,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   63,
										},
										File:   "filter_mixed_empty_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 77,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   63,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 77,
												Line:   63,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   63,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 99,
													Line:   63,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   63,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 99,
														Line:   63,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   63,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 99,
															Line:   63,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   63,
														},
														File:   "filter_mixed_empty_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 104,
															Line:   63,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   63,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 83,
												Line:   63,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   63,
												},
												File:   "filter_mixed_empty_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 83,
													Line:   63,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   63,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 83,
														Line:   63,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   63,
													},
													File:   "filter_mixed_empty_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 91,
														Line:   63,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 138,
											Line:   63,
										},
										File:   "filter_mixed_empty_test.flux",
										Source: "fn: t_filter_mixed_empty",
										Start: ast.Position{
											Column: 114,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   63,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   63,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 138,
												Line:   63,
											},
											File:   "filter_mixed_empty_test.flux",
											Source: "t_filter_mixed_empty",
											Start: ast.Position{
												Column: 118,
												Line:   63,
											},
										},
									},
									Name: "t_filter_mixed_empty",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 140,
						Line:   63,
					},
					File:   "filter_mixed_empty_test.flux",
					Source: "test _filter_mixed_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_mixed_empty})",
					Start: ast.Position{
						Column: 1,
						Line:   63,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "filter_mixed_empty_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "filter_mixed_empty_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "filter_mixed_empty_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "filter_mixed_empty_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   42,
				},
				File:   "filter_partial_pushdown_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n\"\nt_filter_by_tags = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r.name == \"disk0\" and true and true)\n\ntest _filter_by_tags = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "filter_partial_pushdown_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "filter_partial_pushdown_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "filter_partial_pushdown_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "filter_partial_pushdown_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "filter_partial_pushdown_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "filter_partial_pushdown_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 62,
						Line:   40,
					},
					File:   "filter_partial_pushdown_test.flux",
					Source: "t_filter_by_tags = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r.name == \"disk0\" and true and true)",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   38,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "t_filter_by_tags",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_filter_by_tags",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 62,
							Line:   40,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r.name == \"disk0\" and true and true)",
						Start: ast.Position{
							Column: 20,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   38,
									},
									File:   "filter_partial_pushdown_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   38,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   39,
								},
								File:   "filter_partial_pushdown_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 34,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   39,
										},
										File:   "filter_partial_pushdown_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "filter_partial_pushdown_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   39,
												},
												File:   "filter_partial_pushdown_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   39,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   39,
												},
												File:   "filter_partial_pushdown_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   39,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   39,
									},
									File:   "filter_partial_pushdown_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   39,
										},
										File:   "filter_partial_pushdown_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 62,
								Line:   40,
							},
							File:   "filter_partial_pushdown_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r.name == \"disk0\" and true and true)",
							Start: ast.Position{
								Column: 34,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 61,
										Line:   40,
									},
									File:   "filter_partial_pushdown_test.flux",
									Source: "fn: (r) => r.name == \"disk0\" and true and true",
									Start: ast.Position{
										Column: 15,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   40,
										},
										File:   "filter_partial_pushdown_test.flux",
										Source: "fn: (r) => r.name == \"disk0\" and true and true",
										Start: ast.Position{
											Column: 15,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   40,
											},
											File:   "filter_partial_pushdown_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   40,
											},
											File:   "filter_partial_pushdown_test.flux",
											Source: "(r) => r.name == \"disk0\" and true and true",
											Start: ast.Position{
												Column: 19,
												Line:   40,
											},
										},
									},
									Body: &ast.LogicalExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   40,
												},
												File:   "filter_partial_pushdown_test.flux",
												Source: "r.name == \"disk0\" and true and true",
												Start: ast.Position{
													Column: 26,
													Line:   40,
												},
											},
										},
										Left: &ast.LogicalExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   40,
													},
													File:   "filter_partial_pushdown_test.flux",
													Source: "r.name == \"disk0\" and true",
													Start: ast.Position{
														Column: 26,
														Line:   40,
													},
												},
											},
											Left: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   40,
														},
														File:   "filter_partial_pushdown_test.flux",
														Source: "r.name == \"disk0\"",
														Start: ast.Position{
															Column: 26,
															Line:   40,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 32,
																Line:   40,
															},
															File:   "filter_partial_pushdown_test.flux",
															Source: "r.name",
															Start: ast.Position{
																Column: 26,
																Line:   40,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 27,
																	Line:   40,
																},
																File:   "filter_partial_pushdown_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 26,
																	Line:   40,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 32,
																	Line:   40,
																},
																File:   "filter_partial_pushdown_test.flux",
																Source: "name",
																Start: ast.Position{
																	Column: 28,
																	Line:   40,
																},
															},
														},
														Name: "name",
													},
													Rbrack: nil,
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 43,
																Line:   40,
															},
															File:   "filter_partial_pushdown_test.flux",
															Source: "\"disk0\"",
															Start: ast.Position{
																Column: 36,
																Line:   40,
															},
														},
													},
													Value: "disk0",
												},
											},
											Operator: 1,
											Right: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   40,
														},
														File:   "filter_partial_pushdown_test.flux",
														Source: "true",
														Start: ast.Position{
															Column: 48,
															Line:   40,
														},
													},
												},
												Name: "true",
											},
										},
										Operator: 1,
										Right: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   40,
													},
													File:   "filter_partial_pushdown_test.flux",
													Source: "true",
													Start: ast.Position{
														Column: 57,
														Line:   40,
													},
												},
											},
											Name: "true",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   40,
												},
												File:   "filter_partial_pushdown_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   40,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   40,
													},
													File:   "filter_partial_pushdown_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   40,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 62,
									Line:   40,
								},
								File:   "filter_partial_pushdown_test.flux",
								Source: "filter(fn: (r) => r.name == \"disk0\" and true and true)",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   40,
									},
									File:   "filter_partial_pushdown_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   38,
							},
							File:   "filter_partial_pushdown_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   38,
								},
								File:   "filter_partial_pushdown_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   38,
							},
							File:   "filter_partial_pushdown_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   42,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "_filter_by_tags = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   42,
							},
							File:   "filter_partial_pushdown_test.flux",
							Source: "_filter_by_tags",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_filter_by_tags",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   42,
							},
							File:   "filter_partial_pushdown_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
							Start: ast.Position{
								Column: 24,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   42,
								},
								File:   "filter_partial_pushdown_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
								Start: ast.Position{
									Column: 30,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   42,
									},
									File:   "filter_partial_pushdown_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags}",
									Start: ast.Position{
										Column: 31,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   42,
										},
										File:   "filter_partial_pushdown_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   42,
											},
											File:   "filter_partial_pushdown_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   42,
												},
												File:   "filter_partial_pushdown_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   42,
													},
													File:   "filter_partial_pushdown_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   42,
														},
														File:   "filter_partial_pushdown_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   42,
														},
														File:   "filter_partial_pushdown_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   42,
											},
											File:   "filter_partial_pushdown_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   42,
												},
												File:   "filter_partial_pushdown_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   42,
													},
													File:   "filter_partial_pushdown_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   42,
													},
													File:   "filter_partial_pushdown_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   42,
										},
										File:   "filter_partial_pushdown_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   42,
											},
											File:   "filter_partial_pushdown_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   42,
												},
												File:   "filter_partial_pushdown_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   42,
													},
													File:   "filter_partial_pushdown_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   42,
														},
														File:   "filter_partial_pushdown_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   42,
														},
														File:   "filter_partial_pushdown_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   42,
											},
											File:   "filter_partial_pushdown_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   42,
												},
												File:   "filter_partial_pushdown_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   42,
													},
													File:   "filter_partial_pushdown_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   42,
													},
													File:   "filter_partial_pushdown_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   42,
										},
										File:   "filter_partial_pushdown_test.flux",
										Source: "fn: t_filter_by_tags",
										Start: ast.Position{
											Column: 110,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   42,
											},
											File:   "filter_partial_pushdown_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   42,
											},
											File:   "filter_partial_pushdown_test.flux",
											Source: "t_filter_by_tags",
											Start: ast.Position{
												Column: 114,
												Line:   42,
											},
										},
									},
									Name: "t_filter_by_tags",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   42,
					},
					File:   "filter_partial_pushdown_test.flux",
					Source: "test _filter_by_tags = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_filter_by_tags})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "filter_partial_pushdown_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "filter_partial_pushdown_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "filter_partial_pushdown_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "filter_partial_pushdown_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   52,
				},
				File:   "first_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n\"\nt_first = (table=<-) => table\n    |> first()\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _first = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_first})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "first_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "first_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "first_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "first_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "first_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "first_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "first_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "first_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "first_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   38,
						},
						File:   "first_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "first_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   38,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   50,
					},
					File:   "first_test.flux",
					Source: "t_first = (table=<-) => table\n    |> first()\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   48,
						},
						File:   "first_test.flux",
						Source: "t_first",
						Start: ast.Position{
							Column: 1,
							Line:   48,
						},
					},
				},
				Name: "t_first",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   50,
						},
						File:   "first_test.flux",
						Source: "(table=<-) => table\n    |> first()\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 11,
							Line:   48,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   48,
									},
									File:   "first_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 25,
										Line:   48,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   49,
								},
								File:   "first_test.flux",
								Source: "table\n    |> first()",
								Start: ast.Position{
									Column: 25,
									Line:   48,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: nil,
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 15,
										Line:   49,
									},
									File:   "first_test.flux",
									Source: "first()",
									Start: ast.Position{
										Column: 8,
										Line:   49,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   49,
										},
										File:   "first_test.flux",
										Source: "first",
										Start: ast.Position{
											Column: 8,
											Line:   49,
										},
									},
								},
								Name: "first",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   50,
							},
							File:   "first_test.flux",
							Source: "table\n    |> first()\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 25,
								Line:   48,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   50,
									},
									File:   "first_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   50,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   50,
										},
										File:   "first_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   50,
											},
											File:   "first_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   50,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   50,
											},
											File:   "first_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   50,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "first_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   50,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   50,
												},
												File:   "first_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   50,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   50,
								},
								File:   "first_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   50,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   50,
									},
									File:   "first_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   50,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   48,
							},
							File:   "first_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   48,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   48,
								},
								File:   "first_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   48,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   48,
							},
							File:   "first_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   48,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   52,
						},
						File:   "first_test.flux",
						Source: "_first = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_first})",
						Start: ast.Position{
							Column: 6,
							Line:   52,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   52,
							},
							File:   "first_test.flux",
							Source: "_first",
							Start: ast.Position{
								Column: 6,
								Line:   52,
							},
						},
					},
					Name: "_first",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   52,
							},
							File:   "first_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_first})",
							Start: ast.Position{
								Column: 15,
								Line:   52,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   52,
								},
								File:   "first_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_first})",
								Start: ast.Position{
									Column: 21,
									Line:   52,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   52,
									},
									File:   "first_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_first}",
									Start: ast.Position{
										Column: 22,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   52,
										},
										File:   "first_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   52,
											},
											File:   "first_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   52,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   52,
												},
												File:   "first_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   52,
													},
													File:   "first_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   52,
														},
														File:   "first_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   52,
														},
														File:   "first_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   52,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   52,
											},
											File:   "first_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   52,
												},
												File:   "first_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   52,
													},
													File:   "first_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   52,
													},
													File:   "first_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   52,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   52,
										},
										File:   "first_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   52,
											},
											File:   "first_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   52,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   52,
												},
												File:   "first_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   52,
													},
													File:   "first_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   52,
														},
														File:   "first_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   52,
														},
														File:   "first_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   52,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   52,
											},
											File:   "first_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   52,
												},
												File:   "first_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   52,
													},
													File:   "first_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   52,
													},
													File:   "first_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   52,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   52,
										},
										File:   "first_test.flux",
										Source: "fn: t_first",
										Start: ast.Position{
											Column: 101,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   52,
											},
											File:   "first_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   52,
											},
											File:   "first_test.flux",
											Source: "t_first",
											Start: ast.Position{
												Column: 105,
												Line:   52,
											},
										},
									},
									Name: "t_first",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   52,
					},
					File:   "first_test.flux",
					Source: "test _first = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_first})",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "first_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "first_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "first_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "first_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "first_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   36,
				},
				File:   "group_by_field_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host2\n,,0,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host2\n,,0,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,true,false,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host2\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host2\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host2\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host1\n,,5,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host1\n\"\nt_group_by_field = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_value\"])\n\ntest _group_by_field = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_field})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "group_by_field_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "group_by_field_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "group_by_field_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "group_by_field_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "group_by_field_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "group_by_field_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host2\n,,0,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host2\n,,0,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "group_by_field_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "group_by_field_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host2\n,,0,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host2\n,,0,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host2\n,,0,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host2\n,,0,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host1\n,,0,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "group_by_field_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,true,false,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host2\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host2\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host2\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host1\n,,5,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "group_by_field_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "group_by_field_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,true,false,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host2\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host2\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host2\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host1\n,,5,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host1\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,true,false,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host2\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host2\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host2\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host1\n,,5,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 34,
						Line:   34,
					},
					File:   "group_by_field_test.flux",
					Source: "t_group_by_field = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_value\"])",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   32,
						},
						File:   "group_by_field_test.flux",
						Source: "t_group_by_field",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "t_group_by_field",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 34,
							Line:   34,
						},
						File:   "group_by_field_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_value\"])",
						Start: ast.Position{
							Column: 20,
							Line:   32,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   32,
									},
									File:   "group_by_field_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   32,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   33,
								},
								File:   "group_by_field_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 34,
									Line:   32,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   33,
										},
										File:   "group_by_field_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   33,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   33,
											},
											File:   "group_by_field_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   33,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   33,
												},
												File:   "group_by_field_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   33,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   33,
												},
												File:   "group_by_field_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   33,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   33,
									},
									File:   "group_by_field_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   33,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   33,
										},
										File:   "group_by_field_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   33,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 34,
								Line:   34,
							},
							File:   "group_by_field_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_value\"])",
							Start: ast.Position{
								Column: 34,
								Line:   32,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   34,
									},
									File:   "group_by_field_test.flux",
									Source: "columns: [\"_value\"]",
									Start: ast.Position{
										Column: 14,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 33,
											Line:   34,
										},
										File:   "group_by_field_test.flux",
										Source: "columns: [\"_value\"]",
										Start: ast.Position{
											Column: 14,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   34,
											},
											File:   "group_by_field_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 14,
												Line:   34,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   34,
											},
											File:   "group_by_field_test.flux",
											Source: "[\"_value\"]",
											Start: ast.Position{
												Column: 23,
												Line:   34,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   34,
												},
												File:   "group_by_field_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 24,
													Line:   34,
												},
											},
										},
										Value: "_value",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 34,
									Line:   34,
								},
								File:   "group_by_field_test.flux",
								Source: "group(columns: [\"_value\"])",
								Start: ast.Position{
									Column: 8,
									Line:   34,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   34,
									},
									File:   "group_by_field_test.flux",
									Source: "group",
									Start: ast.Position{
										Column: 8,
										Line:   34,
									},
								},
							},
							Name: "group",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   32,
							},
							File:   "group_by_field_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   32,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   32,
								},
								File:   "group_by_field_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   32,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   32,
							},
							File:   "group_by_field_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   32,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   36,
						},
						File:   "group_by_field_test.flux",
						Source: "_group_by_field = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_field})",
						Start: ast.Position{
							Column: 6,
							Line:   36,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   36,
							},
							File:   "group_by_field_test.flux",
							Source: "_group_by_field",
							Start: ast.Position{
								Column: 6,
								Line:   36,
							},
						},
					},
					Name: "_group_by_field",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   36,
							},
							File:   "group_by_field_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_field})",
							Start: ast.Position{
								Column: 24,
								Line:   36,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   36,
								},
								File:   "group_by_field_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_field})",
								Start: ast.Position{
									Column: 30,
									Line:   36,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   36,
									},
									File:   "group_by_field_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_field}",
									Start: ast.Position{
										Column: 31,
										Line:   36,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   36,
										},
										File:   "group_by_field_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   36,
											},
											File:   "group_by_field_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   36,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   36,
												},
												File:   "group_by_field_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   36,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   36,
													},
													File:   "group_by_field_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   36,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   36,
														},
														File:   "group_by_field_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   36,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   36,
														},
														File:   "group_by_field_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   36,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   36,
											},
											File:   "group_by_field_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   36,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   36,
												},
												File:   "group_by_field_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   36,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   36,
													},
													File:   "group_by_field_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   36,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   36,
													},
													File:   "group_by_field_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   36,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   36,
										},
										File:   "group_by_field_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   36,
											},
											File:   "group_by_field_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   36,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   36,
												},
												File:   "group_by_field_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   36,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   36,
													},
													File:   "group_by_field_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   36,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   36,
														},
														File:   "group_by_field_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   36,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   36,
														},
														File:   "group_by_field_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   36,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   36,
											},
											File:   "group_by_field_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   36,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   36,
												},
												File:   "group_by_field_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   36,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   36,
													},
													File:   "group_by_field_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   36,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   36,
													},
													File:   "group_by_field_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   36,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   36,
										},
										File:   "group_by_field_test.flux",
										Source: "fn: t_group_by_field",
										Start: ast.Position{
											Column: 110,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   36,
											},
											File:   "group_by_field_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   36,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   36,
											},
											File:   "group_by_field_test.flux",
											Source: "t_group_by_field",
											Start: ast.Position{
												Column: 114,
												Line:   36,
											},
										},
									},
									Name: "t_group_by_field",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   36,
					},
					File:   "group_by_field_test.flux",
					Source: "test _group_by_field = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_field})",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "group_by_field_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "group_by_field_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "group_by_field_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "group_by_field_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "group_by_field_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 140,
					Line:   47,
				},
				File:   "group_by_irregular_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,status,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,requestedAt,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c908f37000,2018-10-03T17:55:12Z\n,,2,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n,,2,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c922737000,2018-10-03T17:55:13Z\n\"\nt_group_by_irregular = (table=<-) => table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> group(columns: [\"runID\"])\n    |> yield(name: \"r1\")\n\ntest _group_by_irregular = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_irregular})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "group_by_irregular_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "group_by_irregular_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "group_by_irregular_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "group_by_irregular_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "group_by_irregular_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   24,
					},
					File:   "group_by_irregular_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,status,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "group_by_irregular_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   24,
						},
						File:   "group_by_irregular_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,status,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,status,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   39,
					},
					File:   "group_by_irregular_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,requestedAt,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c908f37000,2018-10-03T17:55:12Z\n,,2,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n,,2,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c922737000,2018-10-03T17:55:13Z\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   25,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   25,
						},
						File:   "group_by_irregular_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   25,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   39,
						},
						File:   "group_by_irregular_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,requestedAt,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c908f37000,2018-10-03T17:55:12Z\n,,2,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n,,2,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c922737000,2018-10-03T17:55:13Z\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   25,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,requestedAt,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c908f37000,2018-10-03T17:55:12Z\n,,2,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n,,2,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c922737000,2018-10-03T17:55:13Z\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 25,
						Line:   45,
					},
					File:   "group_by_irregular_test.flux",
					Source: "t_group_by_irregular = (table=<-) => table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> group(columns: [\"runID\"])\n    |> yield(name: \"r1\")",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 21,
							Line:   40,
						},
						File:   "group_by_irregular_test.flux",
						Source: "t_group_by_irregular",
						Start: ast.Position{
							Column: 1,
							Line:   40,
						},
					},
				},
				Name: "t_group_by_irregular",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   45,
						},
						File:   "group_by_irregular_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> group(columns: [\"runID\"])\n    |> yield(name: \"r1\")",
						Start: ast.Position{
							Column: 24,
							Line:   40,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   40,
												},
												File:   "group_by_irregular_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 38,
													Line:   40,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   41,
											},
											File:   "group_by_irregular_test.flux",
											Source: "table\n    |> range(start: 2018-10-02T17:55:11.520461Z)",
											Start: ast.Position{
												Column: 38,
												Line:   40,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   41,
													},
													File:   "group_by_irregular_test.flux",
													Source: "start: 2018-10-02T17:55:11.520461Z",
													Start: ast.Position{
														Column: 14,
														Line:   41,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   41,
														},
														File:   "group_by_irregular_test.flux",
														Source: "start: 2018-10-02T17:55:11.520461Z",
														Start: ast.Position{
															Column: 14,
															Line:   41,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 19,
																Line:   41,
															},
															File:   "group_by_irregular_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 14,
																Line:   41,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 48,
																Line:   41,
															},
															File:   "group_by_irregular_test.flux",
															Source: "2018-10-02T17:55:11.520461Z",
															Start: ast.Position{
																Column: 21,
																Line:   41,
															},
														},
													},
													Value: parser.MustParseTime("2018-10-02T17:55:11.520461Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   41,
												},
												File:   "group_by_irregular_test.flux",
												Source: "range(start: 2018-10-02T17:55:11.520461Z)",
												Start: ast.Position{
													Column: 8,
													Line:   41,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   41,
													},
													File:   "group_by_irregular_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 8,
														Line:   41,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 89,
											Line:   42,
										},
										File:   "group_by_irregular_test.flux",
										Source: "table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")",
										Start: ast.Position{
											Column: 38,
											Line:   40,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 88,
													Line:   42,
												},
												File:   "group_by_irregular_test.flux",
												Source: "fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
												Start: ast.Position{
													Column: 15,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   42,
													},
													File:   "group_by_irregular_test.flux",
													Source: "fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
													Start: ast.Position{
														Column: 15,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   42,
														},
														File:   "group_by_irregular_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 15,
															Line:   42,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   42,
														},
														File:   "group_by_irregular_test.flux",
														Source: "(r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
														Start: ast.Position{
															Column: 19,
															Line:   42,
														},
													},
												},
												Body: &ast.LogicalExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 88,
																Line:   42,
															},
															File:   "group_by_irregular_test.flux",
															Source: "r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
															Start: ast.Position{
																Column: 26,
																Line:   42,
															},
														},
													},
													Left: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 53,
																	Line:   42,
																},
																File:   "group_by_irregular_test.flux",
																Source: "r._measurement == \"records\"",
																Start: ast.Position{
																	Column: 26,
																	Line:   42,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 40,
																		Line:   42,
																	},
																	File:   "group_by_irregular_test.flux",
																	Source: "r._measurement",
																	Start: ast.Position{
																		Column: 26,
																		Line:   42,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 27,
																			Line:   42,
																		},
																		File:   "group_by_irregular_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 26,
																			Line:   42,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 40,
																			Line:   42,
																		},
																		File:   "group_by_irregular_test.flux",
																		Source: "_measurement",
																		Start: ast.Position{
																			Column: 28,
																			Line:   42,
																		},
																	},
																},
																Name: "_measurement",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 53,
																		Line:   42,
																	},
																	File:   "group_by_irregular_test.flux",
																	Source: "\"records\"",
																	Start: ast.Position{
																		Column: 44,
																		Line:   42,
																	},
																},
															},
															Value: "records",
														},
													},
													Operator: 1,
													Right: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 88,
																	Line:   42,
																},
																File:   "group_by_irregular_test.flux",
																Source: "r.taskID == \"02bac3c8f0f37000\"",
																Start: ast.Position{
																	Column: 58,
																	Line:   42,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 66,
																		Line:   42,
																	},
																	File:   "group_by_irregular_test.flux",
																	Source: "r.taskID",
																	Start: ast.Position{
																		Column: 58,
																		Line:   42,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 59,
																			Line:   42,
																		},
																		File:   "group_by_irregular_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 58,
																			Line:   42,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 66,
																			Line:   42,
																		},
																		File:   "group_by_irregular_test.flux",
																		Source: "taskID",
																		Start: ast.Position{
																			Column: 60,
																			Line:   42,
																		},
																	},
																},
																Name: "taskID",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 88,
																		Line:   42,
																	},
																	File:   "group_by_irregular_test.flux",
																	Source: "\"02bac3c8f0f37000\"",
																	Start: ast.Position{
																		Column: 70,
																		Line:   42,
																	},
																},
															},
															Value: "02bac3c8f0f37000",
														},
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   42,
															},
															File:   "group_by_irregular_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 20,
																Line:   42,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 21,
																	Line:   42,
																},
																File:   "group_by_irregular_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 20,
																	Line:   42,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 89,
												Line:   42,
											},
											File:   "group_by_irregular_test.flux",
											Source: "filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")",
											Start: ast.Position{
												Column: 8,
												Line:   42,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   42,
												},
												File:   "group_by_irregular_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 8,
													Line:   42,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 78,
										Line:   43,
									},
									File:   "group_by_irregular_test.flux",
									Source: "table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
									Start: ast.Position{
										Column: 38,
										Line:   40,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   43,
											},
											File:   "group_by_irregular_test.flux",
											Source: "rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\"",
											Start: ast.Position{
												Column: 14,
												Line:   43,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   43,
												},
												File:   "group_by_irregular_test.flux",
												Source: "rowKey: [\"_time\"]",
												Start: ast.Position{
													Column: 14,
													Line:   43,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   43,
													},
													File:   "group_by_irregular_test.flux",
													Source: "rowKey",
													Start: ast.Position{
														Column: 14,
														Line:   43,
													},
												},
											},
											Name: "rowKey",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   43,
													},
													File:   "group_by_irregular_test.flux",
													Source: "[\"_time\"]",
													Start: ast.Position{
														Column: 22,
														Line:   43,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   43,
														},
														File:   "group_by_irregular_test.flux",
														Source: "\"_time\"",
														Start: ast.Position{
															Column: 23,
															Line:   43,
														},
													},
												},
												Value: "_time",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   43,
												},
												File:   "group_by_irregular_test.flux",
												Source: "columnKey: [\"_field\"]",
												Start: ast.Position{
													Column: 33,
													Line:   43,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   43,
													},
													File:   "group_by_irregular_test.flux",
													Source: "columnKey",
													Start: ast.Position{
														Column: 33,
														Line:   43,
													},
												},
											},
											Name: "columnKey",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   43,
													},
													File:   "group_by_irregular_test.flux",
													Source: "[\"_field\"]",
													Start: ast.Position{
														Column: 44,
														Line:   43,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   43,
														},
														File:   "group_by_irregular_test.flux",
														Source: "\"_field\"",
														Start: ast.Position{
															Column: 45,
															Line:   43,
														},
													},
												},
												Value: "_field",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 77,
													Line:   43,
												},
												File:   "group_by_irregular_test.flux",
												Source: "valueColumn: \"_value\"",
												Start: ast.Position{
													Column: 56,
													Line:   43,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   43,
													},
													File:   "group_by_irregular_test.flux",
													Source: "valueColumn",
													Start: ast.Position{
														Column: 56,
														Line:   43,
													},
												},
											},
											Name: "valueColumn",
										},
										Separator: nil,
										Value: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   43,
													},
													File:   "group_by_irregular_test.flux",
													Source: "\"_value\"",
													Start: ast.Position{
														Column: 69,
														Line:   43,
													},
												},
											},
											Value: "_value",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 78,
											Line:   43,
										},
										File:   "group_by_irregular_test.flux",
										Source: "pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
										Start: ast.Position{
											Column: 8,
											Line:   43,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   43,
											},
											File:   "group_by_irregular_test.flux",
											Source: "pivot",
											Start: ast.Position{
												Column: 8,
												Line:   43,
											},
										},
									},
									Name: "pivot",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   44,
								},
								File:   "group_by_irregular_test.flux",
								Source: "table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> group(columns: [\"runID\"])",
								Start: ast.Position{
									Column: 38,
									Line:   40,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   44,
										},
										File:   "group_by_irregular_test.flux",
										Source: "columns: [\"runID\"]",
										Start: ast.Position{
											Column: 14,
											Line:   44,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   44,
											},
											File:   "group_by_irregular_test.flux",
											Source: "columns: [\"runID\"]",
											Start: ast.Position{
												Column: 14,
												Line:   44,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   44,
												},
												File:   "group_by_irregular_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 14,
													Line:   44,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   44,
												},
												File:   "group_by_irregular_test.flux",
												Source: "[\"runID\"]",
												Start: ast.Position{
													Column: 23,
													Line:   44,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   44,
													},
													File:   "group_by_irregular_test.flux",
													Source: "\"runID\"",
													Start: ast.Position{
														Column: 24,
														Line:   44,
													},
												},
											},
											Value: "runID",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   44,
									},
									File:   "group_by_irregular_test.flux",
									Source: "group(columns: [\"runID\"])",
									Start: ast.Position{
										Column: 8,
										Line:   44,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   44,
										},
										File:   "group_by_irregular_test.flux",
										Source: "group",
										Start: ast.Position{
											Column: 8,
											Line:   44,
										},
									},
								},
								Name: "group",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   45,
							},
							File:   "group_by_irregular_test.flux",
							Source: "table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> group(columns: [\"runID\"])\n    |> yield(name: \"r1\")",
							Start: ast.Position{
								Column: 38,
								Line:   40,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   45,
									},
									File:   "group_by_irregular_test.flux",
									Source: "name: \"r1\"",
									Start: ast.Position{
										Column: 14,
										Line:   45,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   45,
										},
										File:   "group_by_irregular_test.flux",
										Source: "name: \"r1\"",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   45,
											},
											File:   "group_by_irregular_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   45,
											},
											File:   "group_by_irregular_test.flux",
											Source: "\"r1\"",
											Start: ast.Position{
												Column: 20,
												Line:   45,
											},
										},
									},
									Value: "r1",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   45,
								},
								File:   "group_by_irregular_test.flux",
								Source: "yield(name: \"r1\")",
								Start: ast.Position{
									Column: 8,
									Line:   45,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   45,
									},
									File:   "group_by_irregular_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   40,
							},
							File:   "group_by_irregular_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 25,
								Line:   40,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   40,
								},
								File:   "group_by_irregular_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 25,
									Line:   40,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   40,
							},
							File:   "group_by_irregular_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 31,
								Line:   40,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 140,
							Line:   47,
						},
						File:   "group_by_irregular_test.flux",
						Source: "_group_by_irregular = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_irregular})",
						Start: ast.Position{
							Column: 6,
							Line:   47,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   47,
							},
							File:   "group_by_irregular_test.flux",
							Source: "_group_by_irregular",
							Start: ast.Position{
								Column: 6,
								Line:   47,
							},
						},
					},
					Name: "_group_by_irregular",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 140,
								Line:   47,
							},
							File:   "group_by_irregular_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_irregular})",
							Start: ast.Position{
								Column: 28,
								Line:   47,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 140,
									Line:   47,
								},
								File:   "group_by_irregular_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_irregular})",
								Start: ast.Position{
									Column: 34,
									Line:   47,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 139,
										Line:   47,
									},
									File:   "group_by_irregular_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_irregular}",
									Start: ast.Position{
										Column: 35,
										Line:   47,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   47,
										},
										File:   "group_by_irregular_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 36,
											Line:   47,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   47,
											},
											File:   "group_by_irregular_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 36,
												Line:   47,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   47,
												},
												File:   "group_by_irregular_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 63,
													Line:   47,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   47,
													},
													File:   "group_by_irregular_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 63,
														Line:   47,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   47,
														},
														File:   "group_by_irregular_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 63,
															Line:   47,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   47,
														},
														File:   "group_by_irregular_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 68,
															Line:   47,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   47,
											},
											File:   "group_by_irregular_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 43,
												Line:   47,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   47,
												},
												File:   "group_by_irregular_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 43,
													Line:   47,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   47,
													},
													File:   "group_by_irregular_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 43,
														Line:   47,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   47,
													},
													File:   "group_by_irregular_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 51,
														Line:   47,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   47,
										},
										File:   "group_by_irregular_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 77,
											Line:   47,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   47,
											},
											File:   "group_by_irregular_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 77,
												Line:   47,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   47,
												},
												File:   "group_by_irregular_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 99,
													Line:   47,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   47,
													},
													File:   "group_by_irregular_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 99,
														Line:   47,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   47,
														},
														File:   "group_by_irregular_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 99,
															Line:   47,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   47,
														},
														File:   "group_by_irregular_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 104,
															Line:   47,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   47,
											},
											File:   "group_by_irregular_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 83,
												Line:   47,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   47,
												},
												File:   "group_by_irregular_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 83,
													Line:   47,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   47,
													},
													File:   "group_by_irregular_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 83,
														Line:   47,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   47,
													},
													File:   "group_by_irregular_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 91,
														Line:   47,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 138,
											Line:   47,
										},
										File:   "group_by_irregular_test.flux",
										Source: "fn: t_group_by_irregular",
										Start: ast.Position{
											Column: 114,
											Line:   47,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   47,
											},
											File:   "group_by_irregular_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   47,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 138,
												Line:   47,
											},
											File:   "group_by_irregular_test.flux",
											Source: "t_group_by_irregular",
											Start: ast.Position{
												Column: 118,
												Line:   47,
											},
										},
									},
									Name: "t_group_by_irregular",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 140,
						Line:   47,
					},
					File:   "group_by_irregular_test.flux",
					Source: "test _group_by_irregular = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_by_irregular})",
					Start: ast.Position{
						Column: 1,
						Line:   47,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "group_by_irregular_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "group_by_irregular_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "group_by_irregular_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "group_by_irregular_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "group_by_irregular_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 128,
					Line:   39,
				},
				File:   "group_except_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio2,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio2,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio2,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio2,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio3,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,false,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio2,host.local,disk0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,648,io_time,diskio2,host.local,disk2\n\"\nt_group_except = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_measurement\", \"_time\", \"_value\"], mode: \"except\")\n    |> max()\n\ntest _group_except = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_except})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "group_except_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "group_except_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "group_except_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "group_except_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "group_except_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "group_except_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio2,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio2,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio2,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio2,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio3,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "group_except_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "group_except_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio2,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio2,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio2,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio2,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio3,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio1,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio2,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio2,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio2,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio2,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio3,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio3,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   33,
					},
					File:   "group_except_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,false,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio2,host.local,disk0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,648,io_time,diskio2,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "group_except_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   33,
						},
						File:   "group_except_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,false,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio2,host.local,disk0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,648,io_time,diskio2,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,true,true,false,false,true,false,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,15205755,io_time,diskio2,host.local,disk0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,648,io_time,diskio2,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   37,
					},
					File:   "group_except_test.flux",
					Source: "t_group_except = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_measurement\", \"_time\", \"_value\"], mode: \"except\")\n    |> max()",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   34,
						},
						File:   "group_except_test.flux",
						Source: "t_group_except",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "t_group_except",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   37,
						},
						File:   "group_except_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_measurement\", \"_time\", \"_value\"], mode: \"except\")\n    |> max()",
						Start: ast.Position{
							Column: 18,
							Line:   34,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   34,
										},
										File:   "group_except_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 32,
											Line:   34,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   35,
									},
									File:   "group_except_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 32,
										Line:   34,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   35,
											},
											File:   "group_except_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   35,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   35,
												},
												File:   "group_except_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   35,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   35,
													},
													File:   "group_except_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   35,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   35,
													},
													File:   "group_except_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   35,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   35,
										},
										File:   "group_except_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   35,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   35,
											},
											File:   "group_except_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   35,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 75,
									Line:   36,
								},
								File:   "group_except_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_measurement\", \"_time\", \"_value\"], mode: \"except\")",
								Start: ast.Position{
									Column: 32,
									Line:   34,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   36,
										},
										File:   "group_except_test.flux",
										Source: "columns: [\"_measurement\", \"_time\", \"_value\"], mode: \"except\"",
										Start: ast.Position{
											Column: 14,
											Line:   36,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 58,
												Line:   36,
											},
											File:   "group_except_test.flux",
											Source: "columns: [\"_measurement\", \"_time\", \"_value\"]",
											Start: ast.Position{
												Column: 14,
												Line:   36,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   36,
												},
												File:   "group_except_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 14,
													Line:   36,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   36,
												},
												File:   "group_except_test.flux",
												Source: "[\"_measurement\", \"_time\", \"_value\"]",
												Start: ast.Position{
													Column: 23,
													Line:   36,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   36,
													},
													File:   "group_except_test.flux",
													Source: "\"_measurement\"",
													Start: ast.Position{
														Column: 24,
														Line:   36,
													},
												},
											},
											Value: "_measurement",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   36,
													},
													File:   "group_except_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 40,
														Line:   36,
													},
												},
											},
											Value: "_time",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   36,
													},
													File:   "group_except_test.flux",
													Source: "\"_value\"",
													Start: ast.Position{
														Column: 49,
														Line:   36,
													},
												},
											},
											Value: "_value",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   36,
											},
											File:   "group_except_test.flux",
											Source: "mode: \"except\"",
											Start: ast.Position{
												Column: 60,
												Line:   36,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   36,
												},
												File:   "group_except_test.flux",
												Source: "mode",
												Start: ast.Position{
													Column: 60,
													Line:   36,
												},
											},
										},
										Name: "mode",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   36,
												},
												File:   "group_except_test.flux",
												Source: "\"except\"",
												Start: ast.Position{
													Column: 66,
													Line:   36,
												},
											},
										},
										Value: "except",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 75,
										Line:   36,
									},
									File:   "group_except_test.flux",
									Source: "group(columns: [\"_measurement\", \"_time\", \"_value\"], mode: \"except\")",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   36,
										},
										File:   "group_except_test.flux",
										Source: "group",
										Start: ast.Position{
											Column: 8,
											Line:   36,
										},
									},
								},
								Name: "group",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   37,
							},
							File:   "group_except_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_measurement\", \"_time\", \"_value\"], mode: \"except\")\n    |> max()",
							Start: ast.Position{
								Column: 32,
								Line:   34,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   37,
								},
								File:   "group_except_test.flux",
								Source: "max()",
								Start: ast.Position{
									Column: 8,
									Line:   37,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   37,
									},
									File:   "group_except_test.flux",
									Source: "max",
									Start: ast.Position{
										Column: 8,
										Line:   37,
									},
								},
							},
							Name: "max",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   34,
							},
							File:   "group_except_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 19,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   34,
								},
								File:   "group_except_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 19,
									Line:   34,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   34,
							},
							File:   "group_except_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 25,
								Line:   34,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 128,
							Line:   39,
						},
						File:   "group_except_test.flux",
						Source: "_group_except = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_except})",
						Start: ast.Position{
							Column: 6,
							Line:   39,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   39,
							},
							File:   "group_except_test.flux",
							Source: "_group_except",
							Start: ast.Position{
								Column: 6,
								Line:   39,
							},
						},
					},
					Name: "_group_except",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 128,
								Line:   39,
							},
							File:   "group_except_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_except})",
							Start: ast.Position{
								Column: 22,
								Line:   39,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 128,
									Line:   39,
								},
								File:   "group_except_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_except})",
								Start: ast.Position{
									Column: 28,
									Line:   39,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 127,
										Line:   39,
									},
									File:   "group_except_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_except}",
									Start: ast.Position{
										Column: 29,
										Line:   39,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   39,
										},
										File:   "group_except_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 30,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   39,
											},
											File:   "group_except_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 30,
												Line:   39,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   39,
												},
												File:   "group_except_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 57,
													Line:   39,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   39,
													},
													File:   "group_except_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 57,
														Line:   39,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   39,
														},
														File:   "group_except_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 57,
															Line:   39,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   39,
														},
														File:   "group_except_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 62,
															Line:   39,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   39,
											},
											File:   "group_except_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 37,
												Line:   39,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   39,
												},
												File:   "group_except_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 37,
													Line:   39,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   39,
													},
													File:   "group_except_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 37,
														Line:   39,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   39,
													},
													File:   "group_except_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 45,
														Line:   39,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   39,
										},
										File:   "group_except_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 71,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   39,
											},
											File:   "group_except_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 71,
												Line:   39,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 105,
													Line:   39,
												},
												File:   "group_except_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 93,
													Line:   39,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   39,
													},
													File:   "group_except_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 93,
														Line:   39,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   39,
														},
														File:   "group_except_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 93,
															Line:   39,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   39,
														},
														File:   "group_except_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 98,
															Line:   39,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   39,
											},
											File:   "group_except_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 77,
												Line:   39,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   39,
												},
												File:   "group_except_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 77,
													Line:   39,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   39,
													},
													File:   "group_except_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 77,
														Line:   39,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   39,
													},
													File:   "group_except_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 85,
														Line:   39,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 126,
											Line:   39,
										},
										File:   "group_except_test.flux",
										Source: "fn: t_group_except",
										Start: ast.Position{
											Column: 108,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   39,
											},
											File:   "group_except_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 108,
												Line:   39,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 126,
												Line:   39,
											},
											File:   "group_except_test.flux",
											Source: "t_group_except",
											Start: ast.Position{
												Column: 112,
												Line:   39,
											},
										},
									},
									Name: "t_group_except",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 128,
						Line:   39,
					},
					File:   "group_except_test.flux",
					Source: "test _group_except = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_except})",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "group_except_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "group_except_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "group_except_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "group_except_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "group_except_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   105,
				},
				File:   "group_nulls_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport c \"csv\"\n\noption now = () => 2030-01-01T00:00:00Z\n\n// todo(faith): remove overload https://github.com/influxdata/flux/issues/3155\noption testing.loadStorage = (csv) => c.from(csv: csv)\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,\n,,1,,15205226,io_time,diskio,\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,\n,,2,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1\n,,2,,15204894,io_time,diskio,host1\n,,2,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1\n,,2,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1\n,,2,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1\n,,2,2018-05-22T19:54:16Z,,io_time,diskio,host1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,3,2018-05-22T19:53:26Z,,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:36Z,15204894,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:56Z,,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk0\n,,3,,15205755,io_time,diskio,host1,disk0\n,,4,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,disk1\n,,4,,,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:53:46Z,,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:54:16Z,15205755,io_time,diskio,host1,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,5,,15204688,io_time,diskio,host2\n,,5,2018-05-22T19:53:36Z,,io_time,diskio,host2\n,,5,2018-05-22T19:53:46Z,15205102,io_time,diskio,host2\n,,5,2018-05-22T19:53:56Z,15205226,io_time,diskio,host2\n,,5,2018-05-22T19:54:06Z,15205499,io_time,diskio,host2\n,,5,2018-05-22T19:54:16Z,,io_time,diskio,host2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,false\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,,disk1\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,,\n,,0,,15205226,io_time,diskio,,\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,,\n\n,,1,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,\n,,1,,15204894,io_time,diskio,host1,\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,\n,,1,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,\n,,1,2018-05-22T19:54:16Z,,io_time,diskio,host1,\n,,1,2018-05-22T19:53:26Z,,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:36Z,15204894,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:56Z,,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk0\n,,1,,15205755,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,disk1\n,,1,,,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:53:46Z,,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:54:16Z,15205755,io_time,diskio,host1,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,,15204688,io_time,diskio,host2\n,,2,2018-05-22T19:53:36Z,,io_time,diskio,host2\n,,2,2018-05-22T19:53:46Z,15205102,io_time,diskio,host2\n,,2,2018-05-22T19:53:56Z,15205226,io_time,diskio,host2\n,,2,2018-05-22T19:54:06Z,15205499,io_time,diskio,host2\n,,2,2018-05-22T19:54:16Z,,io_time,diskio,host2\n\"\nt_group = (table=<-) => table\n    |> group(columns: [\"host\"])\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _group = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "group_nulls_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "group_nulls_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "group_nulls_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "group_nulls_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "group_nulls_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.OptionStatement{
			Assignment: &ast.MemberAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 55,
							Line:   10,
						},
						File:   "group_nulls_test.flux",
						Source: "testing.loadStorage = (csv) => c.from(csv: csv)",
						Start: ast.Position{
							Column: 8,
							Line:   10,
						},
					},
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 55,
								Line:   10,
							},
							File:   "group_nulls_test.flux",
							Source: "(csv) => c.from(csv: csv)",
							Start: ast.Position{
								Column: 30,
								Line:   10,
							},
						},
					},
					Body: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 54,
										Line:   10,
									},
									File:   "group_nulls_test.flux",
									Source: "csv: csv",
									Start: ast.Position{
										Column: 46,
										Line:   10,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   10,
										},
										File:   "group_nulls_test.flux",
										Source: "csv: csv",
										Start: ast.Position{
											Column: 46,
											Line:   10,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   10,
											},
											File:   "group_nulls_test.flux",
											Source: "csv",
											Start: ast.Position{
												Column: 46,
												Line:   10,
											},
										},
									},
									Name: "csv",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 54,
												Line:   10,
											},
											File:   "group_nulls_test.flux",
											Source: "csv",
											Start: ast.Position{
												Column: 51,
												Line:   10,
											},
										},
									},
									Name: "csv",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 55,
									Line:   10,
								},
								File:   "group_nulls_test.flux",
								Source: "c.from(csv: csv)",
								Start: ast.Position{
									Column: 39,
									Line:   10,
								},
							},
						},
						Callee: &ast.MemberExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   10,
									},
									File:   "group_nulls_test.flux",
									Source: "c.from",
									Start: ast.Position{
										Column: 39,
										Line:   10,
									},
								},
							},
							Lbrack: nil,
							Object: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   10,
										},
										File:   "group_nulls_test.flux",
										Source: "c",
										Start: ast.Position{
											Column: 39,
											Line:   10,
										},
									},
								},
								Name: "c",
							},
							Property: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   10,
										},
										File:   "group_nulls_test.flux",
										Source: "from",
										Start: ast.Position{
											Column: 41,
											Line:   10,
										},
									},
								},
								Name: "from",
							},
							Rbrack: nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{&ast.Property{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 34,
									Line:   10,
								},
								File:   "group_nulls_test.flux",
								Source: "csv",
								Start: ast.Position{
									Column: 31,
									Line:   10,
								},
							},
						},
						Comma: nil,
						Key: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   10,
									},
									File:   "group_nulls_test.flux",
									Source: "csv",
									Start: ast.Position{
										Column: 31,
										Line:   10,
									},
								},
							},
							Name: "csv",
						},
						Separator: nil,
						Value:     nil,
					}},
					Rparan: nil,
				},
				Member: &ast.MemberExpression{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   10,
							},
							File:   "group_nulls_test.flux",
							Source: "testing.loadStorage",
							Start: ast.Position{
								Column: 8,
								Line:   10,
							},
						},
					},
					Lbrack: nil,
					Object: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   10,
								},
								File:   "group_nulls_test.flux",
								Source: "testing",
								Start: ast.Position{
									Column: 8,
									Line:   10,
								},
							},
						},
						Name: "testing",
					},
					Property: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   10,
								},
								File:   "group_nulls_test.flux",
								Source: "loadStorage",
								Start: ast.Position{
									Column: 16,
									Line:   10,
								},
							},
						},
						Name: "loadStorage",
					},
					Rbrack: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// todo(faith): remove overload https://github.com/influxdata/flux/issues/3155\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 55,
						Line:   10,
					},
					File:   "group_nulls_test.flux",
					Source: "option testing.loadStorage = (csv) => c.from(csv: csv)",
					Start: ast.Position{
						Column: 1,
						Line:   10,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   60,
					},
					File:   "group_nulls_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,\n,,1,,15205226,io_time,diskio,\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,\n,,2,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1\n,,2,,15204894,io_time,diskio,host1\n,,2,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1\n,,2,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1\n,,2,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1\n,,2,2018-05-22T19:54:16Z,,io_time,diskio,host1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,3,2018-05-22T19:53:26Z,,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:36Z,15204894,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:56Z,,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk0\n,,3,,15205755,io_time,diskio,host1,disk0\n,,4,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,disk1\n,,4,,,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:53:46Z,,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:54:16Z,15205755,io_time,diskio,host1,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,5,,15204688,io_time,diskio,host2\n,,5,2018-05-22T19:53:36Z,,io_time,diskio,host2\n,,5,2018-05-22T19:53:46Z,15205102,io_time,diskio,host2\n,,5,2018-05-22T19:53:56Z,15205226,io_time,diskio,host2\n,,5,2018-05-22T19:54:06Z,15205499,io_time,diskio,host2\n,,5,2018-05-22T19:54:16Z,,io_time,diskio,host2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   12,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   12,
						},
						File:   "group_nulls_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   12,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   60,
						},
						File:   "group_nulls_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,\n,,1,,15205226,io_time,diskio,\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,\n,,2,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1\n,,2,,15204894,io_time,diskio,host1\n,,2,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1\n,,2,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1\n,,2,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1\n,,2,2018-05-22T19:54:16Z,,io_time,diskio,host1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,3,2018-05-22T19:53:26Z,,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:36Z,15204894,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:56Z,,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk0\n,,3,,15205755,io_time,diskio,host1,disk0\n,,4,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,disk1\n,,4,,,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:53:46Z,,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:54:16Z,15205755,io_time,diskio,host1,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,5,,15204688,io_time,diskio,host2\n,,5,2018-05-22T19:53:36Z,,io_time,diskio,host2\n,,5,2018-05-22T19:53:46Z,15205102,io_time,diskio,host2\n,,5,2018-05-22T19:53:56Z,15205226,io_time,diskio,host2\n,,5,2018-05-22T19:54:06Z,15205499,io_time,diskio,host2\n,,5,2018-05-22T19:54:16Z,,io_time,diskio,host2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   12,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,\n,,1,,15205226,io_time,diskio,\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,\n,,2,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1\n,,2,,15204894,io_time,diskio,host1\n,,2,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1\n,,2,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1\n,,2,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1\n,,2,2018-05-22T19:54:16Z,,io_time,diskio,host1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,3,2018-05-22T19:53:26Z,,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:36Z,15204894,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:53:56Z,,io_time,diskio,host1,disk0\n,,3,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk0\n,,3,,15205755,io_time,diskio,host1,disk0\n,,4,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,disk1\n,,4,,,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:53:46Z,,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk1\n,,4,2018-05-22T19:54:16Z,15205755,io_time,diskio,host1,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,5,,15204688,io_time,diskio,host2\n,,5,2018-05-22T19:53:36Z,,io_time,diskio,host2\n,,5,2018-05-22T19:53:46Z,15205102,io_time,diskio,host2\n,,5,2018-05-22T19:53:56Z,15205226,io_time,diskio,host2\n,,5,2018-05-22T19:54:06Z,15205499,io_time,diskio,host2\n,,5,2018-05-22T19:54:16Z,,io_time,diskio,host2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   100,
					},
					File:   "group_nulls_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,false\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,,disk1\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,,\n,,0,,15205226,io_time,diskio,,\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,,\n\n,,1,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,\n,,1,,15204894,io_time,diskio,host1,\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,\n,,1,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,\n,,1,2018-05-22T19:54:16Z,,io_time,diskio,host1,\n,,1,2018-05-22T19:53:26Z,,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:36Z,15204894,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:56Z,,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk0\n,,1,,15205755,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,disk1\n,,1,,,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:53:46Z,,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:54:16Z,15205755,io_time,diskio,host1,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,,15204688,io_time,diskio,host2\n,,2,2018-05-22T19:53:36Z,,io_time,diskio,host2\n,,2,2018-05-22T19:53:46Z,15205102,io_time,diskio,host2\n,,2,2018-05-22T19:53:56Z,15205226,io_time,diskio,host2\n,,2,2018-05-22T19:54:06Z,15205499,io_time,diskio,host2\n,,2,2018-05-22T19:54:16Z,,io_time,diskio,host2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   61,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   61,
						},
						File:   "group_nulls_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   61,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   100,
						},
						File:   "group_nulls_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,false\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,,disk1\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,,\n,,0,,15205226,io_time,diskio,,\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,,\n\n,,1,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,\n,,1,,15204894,io_time,diskio,host1,\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,\n,,1,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,\n,,1,2018-05-22T19:54:16Z,,io_time,diskio,host1,\n,,1,2018-05-22T19:53:26Z,,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:36Z,15204894,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:56Z,,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk0\n,,1,,15205755,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,disk1\n,,1,,,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:53:46Z,,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:54:16Z,15205755,io_time,diskio,host1,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,,15204688,io_time,diskio,host2\n,,2,2018-05-22T19:53:36Z,,io_time,diskio,host2\n,,2,2018-05-22T19:53:46Z,15205102,io_time,diskio,host2\n,,2,2018-05-22T19:53:56Z,15205226,io_time,diskio,host2\n,,2,2018-05-22T19:54:06Z,15205499,io_time,diskio,host2\n,,2,2018-05-22T19:54:16Z,,io_time,diskio,host2\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   61,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,false\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,,disk1\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,,\n,,0,,15205226,io_time,diskio,,\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,,\n\n,,1,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,\n,,1,,15204894,io_time,diskio,host1,\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,\n,,1,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,\n,,1,2018-05-22T19:54:16Z,,io_time,diskio,host1,\n,,1,2018-05-22T19:53:26Z,,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:36Z,15204894,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:46Z,15205102,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:56Z,,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk0\n,,1,,15205755,io_time,diskio,host1,disk0\n,,1,2018-05-22T19:53:26Z,15204688,io_time,diskio,host1,disk1\n,,1,,,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:53:46Z,,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:53:56Z,15205226,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:54:06Z,15205499,io_time,diskio,host1,disk1\n,,1,2018-05-22T19:54:16Z,15205755,io_time,diskio,host1,disk1\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,,15204688,io_time,diskio,host2\n,,2,2018-05-22T19:53:36Z,,io_time,diskio,host2\n,,2,2018-05-22T19:53:46Z,15205102,io_time,diskio,host2\n,,2,2018-05-22T19:53:56Z,15205226,io_time,diskio,host2\n,,2,2018-05-22T19:54:06Z,15205499,io_time,diskio,host2\n,,2,2018-05-22T19:54:16Z,,io_time,diskio,host2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   103,
					},
					File:   "group_nulls_test.flux",
					Source: "t_group = (table=<-) => table\n    |> group(columns: [\"host\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   101,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   101,
						},
						File:   "group_nulls_test.flux",
						Source: "t_group",
						Start: ast.Position{
							Column: 1,
							Line:   101,
						},
					},
				},
				Name: "t_group",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   103,
						},
						File:   "group_nulls_test.flux",
						Source: "(table=<-) => table\n    |> group(columns: [\"host\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 11,
							Line:   101,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   101,
									},
									File:   "group_nulls_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 25,
										Line:   101,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 32,
									Line:   102,
								},
								File:   "group_nulls_test.flux",
								Source: "table\n    |> group(columns: [\"host\"])",
								Start: ast.Position{
									Column: 25,
									Line:   101,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 31,
											Line:   102,
										},
										File:   "group_nulls_test.flux",
										Source: "columns: [\"host\"]",
										Start: ast.Position{
											Column: 14,
											Line:   102,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   102,
											},
											File:   "group_nulls_test.flux",
											Source: "columns: [\"host\"]",
											Start: ast.Position{
												Column: 14,
												Line:   102,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   102,
												},
												File:   "group_nulls_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 14,
													Line:   102,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   102,
												},
												File:   "group_nulls_test.flux",
												Source: "[\"host\"]",
												Start: ast.Position{
													Column: 23,
													Line:   102,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   102,
													},
													File:   "group_nulls_test.flux",
													Source: "\"host\"",
													Start: ast.Position{
														Column: 24,
														Line:   102,
													},
												},
											},
											Value: "host",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 32,
										Line:   102,
									},
									File:   "group_nulls_test.flux",
									Source: "group(columns: [\"host\"])",
									Start: ast.Position{
										Column: 8,
										Line:   102,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   102,
										},
										File:   "group_nulls_test.flux",
										Source: "group",
										Start: ast.Position{
											Column: 8,
											Line:   102,
										},
									},
								},
								Name: "group",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   103,
							},
							File:   "group_nulls_test.flux",
							Source: "table\n    |> group(columns: [\"host\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 25,
								Line:   101,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   103,
									},
									File:   "group_nulls_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   103,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   103,
										},
										File:   "group_nulls_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   103,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   103,
											},
											File:   "group_nulls_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   103,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   103,
											},
											File:   "group_nulls_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   103,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   103,
												},
												File:   "group_nulls_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   103,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   103,
												},
												File:   "group_nulls_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   103,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   103,
								},
								File:   "group_nulls_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   103,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   103,
									},
									File:   "group_nulls_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   103,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   101,
							},
							File:   "group_nulls_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   101,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   101,
								},
								File:   "group_nulls_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   101,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   101,
							},
							File:   "group_nulls_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   101,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   105,
						},
						File:   "group_nulls_test.flux",
						Source: "_group = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
						Start: ast.Position{
							Column: 6,
							Line:   105,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   105,
							},
							File:   "group_nulls_test.flux",
							Source: "_group",
							Start: ast.Position{
								Column: 6,
								Line:   105,
							},
						},
					},
					Name: "_group",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   105,
							},
							File:   "group_nulls_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
							Start: ast.Position{
								Column: 15,
								Line:   105,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   105,
								},
								File:   "group_nulls_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
								Start: ast.Position{
									Column: 21,
									Line:   105,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   105,
									},
									File:   "group_nulls_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group}",
									Start: ast.Position{
										Column: 22,
										Line:   105,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   105,
										},
										File:   "group_nulls_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   105,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   105,
											},
											File:   "group_nulls_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   105,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   105,
												},
												File:   "group_nulls_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   105,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   105,
													},
													File:   "group_nulls_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   105,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   105,
														},
														File:   "group_nulls_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   105,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   105,
														},
														File:   "group_nulls_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   105,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   105,
											},
											File:   "group_nulls_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   105,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   105,
												},
												File:   "group_nulls_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   105,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   105,
													},
													File:   "group_nulls_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   105,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   105,
													},
													File:   "group_nulls_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   105,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   105,
										},
										File:   "group_nulls_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   105,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   105,
											},
											File:   "group_nulls_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   105,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   105,
												},
												File:   "group_nulls_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   105,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   105,
													},
													File:   "group_nulls_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   105,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   105,
														},
														File:   "group_nulls_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   105,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   105,
														},
														File:   "group_nulls_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   105,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   105,
											},
											File:   "group_nulls_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   105,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   105,
												},
												File:   "group_nulls_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   105,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   105,
													},
													File:   "group_nulls_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   105,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   105,
													},
													File:   "group_nulls_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   105,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   105,
										},
										File:   "group_nulls_test.flux",
										Source: "fn: t_group",
										Start: ast.Position{
											Column: 101,
											Line:   105,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   105,
											},
											File:   "group_nulls_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   105,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   105,
											},
											File:   "group_nulls_test.flux",
											Source: "t_group",
											Start: ast.Position{
												Column: 105,
												Line:   105,
											},
										},
									},
									Name: "t_group",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   105,
					},
					File:   "group_nulls_test.flux",
					Source: "test _group = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
					Start: ast.Position{
						Column: 1,
						Line:   105,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "group_nulls_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "group_nulls_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   5,
						},
						File:   "group_nulls_test.flux",
						Source: "c",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Name: "c",
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   5,
					},
					File:   "group_nulls_test.flux",
					Source: "import c \"csv\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   5,
						},
						File:   "group_nulls_test.flux",
						Source: "\"csv\"",
						Start: ast.Position{
							Column: 10,
							Line:   5,
						},
					},
				},
				Value: "csv",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "group_nulls_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "group_nulls_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "group_nulls_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   40,
				},
				File:   "group_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,false,true,false,false,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,2018-05-22T19:53:26Z,648\n\"\nt_group = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n    |> group(columns: [\"_measurement\", \"_start\", \"name\"])\n    |> max()\n\ntest _group = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "group_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "group_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "group_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "group_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "group_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "group_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "group_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "group_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   33,
					},
					File:   "group_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,false,true,false,false,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,2018-05-22T19:53:26Z,648\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "group_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   33,
						},
						File:   "group_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,false,true,false,false,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,2018-05-22T19:53:26Z,648\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,false,true,false,false,true,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,host,name,_time,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk0,2018-05-22T19:54:16Z,15205755\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,diskio,io_time,host.local,disk2,2018-05-22T19:53:26Z,648\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   38,
					},
					File:   "group_test.flux",
					Source: "t_group = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n    |> group(columns: [\"_measurement\", \"_start\", \"name\"])\n    |> max()",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   34,
						},
						File:   "group_test.flux",
						Source: "t_group",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "t_group",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   38,
						},
						File:   "group_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n    |> group(columns: [\"_measurement\", \"_start\", \"name\"])\n    |> max()",
						Start: ast.Position{
							Column: 11,
							Line:   34,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   34,
											},
											File:   "group_test.flux",
											Source: "table",
											Start: ast.Position{
												Column: 25,
												Line:   34,
											},
										},
									},
									Name: "table",
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   35,
										},
										File:   "group_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 25,
											Line:   34,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   35,
												},
												File:   "group_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   35,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   35,
													},
													File:   "group_test.flux",
													Source: "start: 2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 14,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 19,
															Line:   35,
														},
														File:   "group_test.flux",
														Source: "start",
														Start: ast.Position{
															Column: 14,
															Line:   35,
														},
													},
												},
												Name: "start",
											},
											Separator: nil,
											Value: &ast.DateTimeLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   35,
														},
														File:   "group_test.flux",
														Source: "2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 21,
															Line:   35,
														},
													},
												},
												Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   35,
											},
											File:   "group_test.flux",
											Source: "range(start: 2018-05-22T19:53:26Z)",
											Start: ast.Position{
												Column: 8,
												Line:   35,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 13,
													Line:   35,
												},
												File:   "group_test.flux",
												Source: "range",
												Start: ast.Position{
													Column: 8,
													Line:   35,
												},
											},
										},
										Name: "range",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 79,
										Line:   36,
									},
									File:   "group_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")",
									Start: ast.Position{
										Column: 25,
										Line:   34,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   36,
											},
											File:   "group_test.flux",
											Source: "fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\"",
											Start: ast.Position{
												Column: 15,
												Line:   36,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   36,
												},
												File:   "group_test.flux",
												Source: "fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\"",
												Start: ast.Position{
													Column: 15,
													Line:   36,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   36,
													},
													File:   "group_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 15,
														Line:   36,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   36,
													},
													File:   "group_test.flux",
													Source: "(r) => r._measurement == \"diskio\" and r._field == \"io_time\"",
													Start: ast.Position{
														Column: 19,
														Line:   36,
													},
												},
											},
											Body: &ast.LogicalExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 78,
															Line:   36,
														},
														File:   "group_test.flux",
														Source: "r._measurement == \"diskio\" and r._field == \"io_time\"",
														Start: ast.Position{
															Column: 26,
															Line:   36,
														},
													},
												},
												Left: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 52,
																Line:   36,
															},
															File:   "group_test.flux",
															Source: "r._measurement == \"diskio\"",
															Start: ast.Position{
																Column: 26,
																Line:   36,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   36,
																},
																File:   "group_test.flux",
																Source: "r._measurement",
																Start: ast.Position{
																	Column: 26,
																	Line:   36,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 27,
																		Line:   36,
																	},
																	File:   "group_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 26,
																		Line:   36,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 40,
																		Line:   36,
																	},
																	File:   "group_test.flux",
																	Source: "_measurement",
																	Start: ast.Position{
																		Column: 28,
																		Line:   36,
																	},
																},
															},
															Name: "_measurement",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 52,
																	Line:   36,
																},
																File:   "group_test.flux",
																Source: "\"diskio\"",
																Start: ast.Position{
																	Column: 44,
																	Line:   36,
																},
															},
														},
														Value: "diskio",
													},
												},
												Operator: 1,
												Right: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 78,
																Line:   36,
															},
															File:   "group_test.flux",
															Source: "r._field == \"io_time\"",
															Start: ast.Position{
																Column: 57,
																Line:   36,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 65,
																	Line:   36,
																},
																File:   "group_test.flux",
																Source: "r._field",
																Start: ast.Position{
																	Column: 57,
																	Line:   36,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 58,
																		Line:   36,
																	},
																	File:   "group_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 57,
																		Line:   36,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 65,
																		Line:   36,
																	},
																	File:   "group_test.flux",
																	Source: "_field",
																	Start: ast.Position{
																		Column: 59,
																		Line:   36,
																	},
																},
															},
															Name: "_field",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 78,
																	Line:   36,
																},
																File:   "group_test.flux",
																Source: "\"io_time\"",
																Start: ast.Position{
																	Column: 69,
																	Line:   36,
																},
															},
														},
														Value: "io_time",
													},
												},
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   36,
														},
														File:   "group_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   36,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   36,
															},
															File:   "group_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 20,
																Line:   36,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 79,
											Line:   36,
										},
										File:   "group_test.flux",
										Source: "filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")",
										Start: ast.Position{
											Column: 8,
											Line:   36,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   36,
											},
											File:   "group_test.flux",
											Source: "filter",
											Start: ast.Position{
												Column: 8,
												Line:   36,
											},
										},
									},
									Name: "filter",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 58,
									Line:   37,
								},
								File:   "group_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n    |> group(columns: [\"_measurement\", \"_start\", \"name\"])",
								Start: ast.Position{
									Column: 25,
									Line:   34,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 57,
											Line:   37,
										},
										File:   "group_test.flux",
										Source: "columns: [\"_measurement\", \"_start\", \"name\"]",
										Start: ast.Position{
											Column: 14,
											Line:   37,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 57,
												Line:   37,
											},
											File:   "group_test.flux",
											Source: "columns: [\"_measurement\", \"_start\", \"name\"]",
											Start: ast.Position{
												Column: 14,
												Line:   37,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   37,
												},
												File:   "group_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 14,
													Line:   37,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   37,
												},
												File:   "group_test.flux",
												Source: "[\"_measurement\", \"_start\", \"name\"]",
												Start: ast.Position{
													Column: 23,
													Line:   37,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   37,
													},
													File:   "group_test.flux",
													Source: "\"_measurement\"",
													Start: ast.Position{
														Column: 24,
														Line:   37,
													},
												},
											},
											Value: "_measurement",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   37,
													},
													File:   "group_test.flux",
													Source: "\"_start\"",
													Start: ast.Position{
														Column: 40,
														Line:   37,
													},
												},
											},
											Value: "_start",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   37,
													},
													File:   "group_test.flux",
													Source: "\"name\"",
													Start: ast.Position{
														Column: 50,
														Line:   37,
													},
												},
											},
											Value: "name",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 58,
										Line:   37,
									},
									File:   "group_test.flux",
									Source: "group(columns: [\"_measurement\", \"_start\", \"name\"])",
									Start: ast.Position{
										Column: 8,
										Line:   37,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   37,
										},
										File:   "group_test.flux",
										Source: "group",
										Start: ast.Position{
											Column: 8,
											Line:   37,
										},
									},
								},
								Name: "group",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   38,
							},
							File:   "group_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n    |> group(columns: [\"_measurement\", \"_start\", \"name\"])\n    |> max()",
							Start: ast.Position{
								Column: 25,
								Line:   34,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   38,
								},
								File:   "group_test.flux",
								Source: "max()",
								Start: ast.Position{
									Column: 8,
									Line:   38,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   38,
									},
									File:   "group_test.flux",
									Source: "max",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Name: "max",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   34,
							},
							File:   "group_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   34,
								},
								File:   "group_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   34,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   34,
							},
							File:   "group_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   34,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   40,
						},
						File:   "group_test.flux",
						Source: "_group = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
						Start: ast.Position{
							Column: 6,
							Line:   40,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   40,
							},
							File:   "group_test.flux",
							Source: "_group",
							Start: ast.Position{
								Column: 6,
								Line:   40,
							},
						},
					},
					Name: "_group",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   40,
							},
							File:   "group_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
							Start: ast.Position{
								Column: 15,
								Line:   40,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   40,
								},
								File:   "group_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
								Start: ast.Position{
									Column: 21,
									Line:   40,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   40,
									},
									File:   "group_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group}",
									Start: ast.Position{
										Column: 22,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   40,
										},
										File:   "group_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   40,
											},
											File:   "group_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   40,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   40,
												},
												File:   "group_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   40,
													},
													File:   "group_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   40,
														},
														File:   "group_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   40,
														},
														File:   "group_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   40,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   40,
											},
											File:   "group_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   40,
												},
												File:   "group_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   40,
													},
													File:   "group_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   40,
													},
													File:   "group_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   40,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   40,
										},
										File:   "group_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   40,
											},
											File:   "group_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   40,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   40,
												},
												File:   "group_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   40,
													},
													File:   "group_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   40,
														},
														File:   "group_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   40,
														},
														File:   "group_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   40,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   40,
											},
											File:   "group_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   40,
												},
												File:   "group_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   40,
													},
													File:   "group_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   40,
													},
													File:   "group_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   40,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   40,
										},
										File:   "group_test.flux",
										Source: "fn: t_group",
										Start: ast.Position{
											Column: 101,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   40,
											},
											File:   "group_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   40,
											},
											File:   "group_test.flux",
											Source: "t_group",
											Start: ast.Position{
												Column: 105,
												Line:   40,
											},
										},
									},
									Name: "t_group",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   40,
					},
					File:   "group_test.flux",
					Source: "test _group = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group})",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "group_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "group_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "group_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "group_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "group_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 130,
					Line:   51,
				},
				File:   "group_ungroup_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,long\n#group,false,false,false,false\n#default,0,,,\n,result,table,_time,io_time\n,,0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:54:16Z,15205755\n,,0,2018-05-22T19:53:26Z,648\n,,0,2018-05-22T19:53:36Z,648\n,,0,2018-05-22T19:53:46Z,648\n,,0,2018-05-22T19:53:56Z,648\n,,0,2018-05-22T19:54:06Z,648\n,,0,2018-05-22T19:54:16Z,648\n\"\nt_group_ungroup = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"name\"])\n    |> group()\n    |> map(fn: (r) => ({_time: r._time, io_time: r._value}))\n    |> yield(name: \"0\")\n\ntest _group_ungroup = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_ungroup})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "group_ungroup_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "group_ungroup_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "group_ungroup_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "group_ungroup_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "group_ungroup_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "group_ungroup_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "group_ungroup_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "group_ungroup_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "group_ungroup_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,long\n#group,false,false,false,false\n#default,0,,,\n,result,table,_time,io_time\n,,0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:54:16Z,15205755\n,,0,2018-05-22T19:53:26Z,648\n,,0,2018-05-22T19:53:36Z,648\n,,0,2018-05-22T19:53:46Z,648\n,,0,2018-05-22T19:53:56Z,648\n,,0,2018-05-22T19:54:06Z,648\n,,0,2018-05-22T19:54:16Z,648\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "group_ungroup_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "group_ungroup_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long\n#group,false,false,false,false\n#default,0,,,\n,result,table,_time,io_time\n,,0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:54:16Z,15205755\n,,0,2018-05-22T19:53:26Z,648\n,,0,2018-05-22T19:53:36Z,648\n,,0,2018-05-22T19:53:46Z,648\n,,0,2018-05-22T19:53:56Z,648\n,,0,2018-05-22T19:54:06Z,648\n,,0,2018-05-22T19:54:16Z,648\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long\n#group,false,false,false,false\n#default,0,,,\n,result,table,_time,io_time\n,,0,2018-05-22T19:53:26Z,15204688\n,,0,2018-05-22T19:53:36Z,15204894\n,,0,2018-05-22T19:53:46Z,15205102\n,,0,2018-05-22T19:53:56Z,15205226\n,,0,2018-05-22T19:54:06Z,15205499\n,,0,2018-05-22T19:54:16Z,15205755\n,,0,2018-05-22T19:53:26Z,648\n,,0,2018-05-22T19:53:36Z,648\n,,0,2018-05-22T19:53:46Z,648\n,,0,2018-05-22T19:53:56Z,648\n,,0,2018-05-22T19:54:06Z,648\n,,0,2018-05-22T19:54:16Z,648\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   49,
					},
					File:   "group_ungroup_test.flux",
					Source: "t_group_ungroup = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"name\"])\n    |> group()\n    |> map(fn: (r) => ({_time: r._time, io_time: r._value}))\n    |> yield(name: \"0\")",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   44,
						},
						File:   "group_ungroup_test.flux",
						Source: "t_group_ungroup",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_group_ungroup",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   49,
						},
						File:   "group_ungroup_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"name\"])\n    |> group()\n    |> map(fn: (r) => ({_time: r._time, io_time: r._value}))\n    |> yield(name: \"0\")",
						Start: ast.Position{
							Column: 19,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 38,
													Line:   44,
												},
												File:   "group_ungroup_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 33,
													Line:   44,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   45,
											},
											File:   "group_ungroup_test.flux",
											Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
											Start: ast.Position{
												Column: 33,
												Line:   44,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   45,
													},
													File:   "group_ungroup_test.flux",
													Source: "start: 2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 14,
														Line:   45,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   45,
														},
														File:   "group_ungroup_test.flux",
														Source: "start: 2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 14,
															Line:   45,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 19,
																Line:   45,
															},
															File:   "group_ungroup_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 14,
																Line:   45,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   45,
															},
															File:   "group_ungroup_test.flux",
															Source: "2018-05-22T19:53:26Z",
															Start: ast.Position{
																Column: 21,
																Line:   45,
															},
														},
													},
													Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   45,
												},
												File:   "group_ungroup_test.flux",
												Source: "range(start: 2018-05-22T19:53:26Z)",
												Start: ast.Position{
													Column: 8,
													Line:   45,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   45,
													},
													File:   "group_ungroup_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 8,
														Line:   45,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   46,
										},
										File:   "group_ungroup_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"name\"])",
										Start: ast.Position{
											Column: 33,
											Line:   44,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   46,
												},
												File:   "group_ungroup_test.flux",
												Source: "columns: [\"name\"]",
												Start: ast.Position{
													Column: 14,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   46,
													},
													File:   "group_ungroup_test.flux",
													Source: "columns: [\"name\"]",
													Start: ast.Position{
														Column: 14,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   46,
														},
														File:   "group_ungroup_test.flux",
														Source: "columns",
														Start: ast.Position{
															Column: 14,
															Line:   46,
														},
													},
												},
												Name: "columns",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 31,
															Line:   46,
														},
														File:   "group_ungroup_test.flux",
														Source: "[\"name\"]",
														Start: ast.Position{
															Column: 23,
															Line:   46,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 30,
																Line:   46,
															},
															File:   "group_ungroup_test.flux",
															Source: "\"name\"",
															Start: ast.Position{
																Column: 24,
																Line:   46,
															},
														},
													},
													Value: "name",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   46,
											},
											File:   "group_ungroup_test.flux",
											Source: "group(columns: [\"name\"])",
											Start: ast.Position{
												Column: 8,
												Line:   46,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 13,
													Line:   46,
												},
												File:   "group_ungroup_test.flux",
												Source: "group",
												Start: ast.Position{
													Column: 8,
													Line:   46,
												},
											},
										},
										Name: "group",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 15,
										Line:   47,
									},
									File:   "group_ungroup_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"name\"])\n    |> group()",
									Start: ast.Position{
										Column: 33,
										Line:   44,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: nil,
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 15,
											Line:   47,
										},
										File:   "group_ungroup_test.flux",
										Source: "group()",
										Start: ast.Position{
											Column: 8,
											Line:   47,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   47,
											},
											File:   "group_ungroup_test.flux",
											Source: "group",
											Start: ast.Position{
												Column: 8,
												Line:   47,
											},
										},
									},
									Name: "group",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 61,
									Line:   48,
								},
								File:   "group_ungroup_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"name\"])\n    |> group()\n    |> map(fn: (r) => ({_time: r._time, io_time: r._value}))",
								Start: ast.Position{
									Column: 33,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   48,
										},
										File:   "group_ungroup_test.flux",
										Source: "fn: (r) => ({_time: r._time, io_time: r._value})",
										Start: ast.Position{
											Column: 12,
											Line:   48,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   48,
											},
											File:   "group_ungroup_test.flux",
											Source: "fn: (r) => ({_time: r._time, io_time: r._value})",
											Start: ast.Position{
												Column: 12,
												Line:   48,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   48,
												},
												File:   "group_ungroup_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 12,
													Line:   48,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   48,
												},
												File:   "group_ungroup_test.flux",
												Source: "(r) => ({_time: r._time, io_time: r._value})",
												Start: ast.Position{
													Column: 16,
													Line:   48,
												},
											},
										},
										Body: &ast.ParenExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   48,
													},
													File:   "group_ungroup_test.flux",
													Source: "({_time: r._time, io_time: r._value})",
													Start: ast.Position{
														Column: 23,
														Line:   48,
													},
												},
											},
											Expression: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   48,
														},
														File:   "group_ungroup_test.flux",
														Source: "{_time: r._time, io_time: r._value}",
														Start: ast.Position{
															Column: 24,
															Line:   48,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 39,
																Line:   48,
															},
															File:   "group_ungroup_test.flux",
															Source: "_time: r._time",
															Start: ast.Position{
																Column: 25,
																Line:   48,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 30,
																	Line:   48,
																},
																File:   "group_ungroup_test.flux",
																Source: "_time",
																Start: ast.Position{
																	Column: 25,
																	Line:   48,
																},
															},
														},
														Name: "_time",
													},
													Separator: nil,
													Value: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 39,
																	Line:   48,
																},
																File:   "group_ungroup_test.flux",
																Source: "r._time",
																Start: ast.Position{
																	Column: 32,
																	Line:   48,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 33,
																		Line:   48,
																	},
																	File:   "group_ungroup_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 32,
																		Line:   48,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 39,
																		Line:   48,
																	},
																	File:   "group_ungroup_test.flux",
																	Source: "_time",
																	Start: ast.Position{
																		Column: 34,
																		Line:   48,
																	},
																},
															},
															Name: "_time",
														},
														Rbrack: nil,
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 58,
																Line:   48,
															},
															File:   "group_ungroup_test.flux",
															Source: "io_time: r._value",
															Start: ast.Position{
																Column: 41,
																Line:   48,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 48,
																	Line:   48,
																},
																File:   "group_ungroup_test.flux",
																Source: "io_time",
																Start: ast.Position{
																	Column: 41,
																	Line:   48,
																},
															},
														},
														Name: "io_time",
													},
													Separator: nil,
													Value: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 58,
																	Line:   48,
																},
																File:   "group_ungroup_test.flux",
																Source: "r._value",
																Start: ast.Position{
																	Column: 50,
																	Line:   48,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 51,
																		Line:   48,
																	},
																	File:   "group_ungroup_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 50,
																		Line:   48,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 58,
																		Line:   48,
																	},
																	File:   "group_ungroup_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 52,
																		Line:   48,
																	},
																},
															},
															Name: "_value",
														},
														Rbrack: nil,
													},
												}},
												Rbrace: nil,
												With:   nil,
											},
											Lparen: nil,
											Rparen: nil,
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   48,
													},
													File:   "group_ungroup_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   48,
														},
														File:   "group_ungroup_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 17,
															Line:   48,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 61,
										Line:   48,
									},
									File:   "group_ungroup_test.flux",
									Source: "map(fn: (r) => ({_time: r._time, io_time: r._value}))",
									Start: ast.Position{
										Column: 8,
										Line:   48,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   48,
										},
										File:   "group_ungroup_test.flux",
										Source: "map",
										Start: ast.Position{
											Column: 8,
											Line:   48,
										},
									},
								},
								Name: "map",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   49,
							},
							File:   "group_ungroup_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"name\"])\n    |> group()\n    |> map(fn: (r) => ({_time: r._time, io_time: r._value}))\n    |> yield(name: \"0\")",
							Start: ast.Position{
								Column: 33,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   49,
									},
									File:   "group_ungroup_test.flux",
									Source: "name: \"0\"",
									Start: ast.Position{
										Column: 14,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   49,
										},
										File:   "group_ungroup_test.flux",
										Source: "name: \"0\"",
										Start: ast.Position{
											Column: 14,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   49,
											},
											File:   "group_ungroup_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   49,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   49,
											},
											File:   "group_ungroup_test.flux",
											Source: "\"0\"",
											Start: ast.Position{
												Column: 20,
												Line:   49,
											},
										},
									},
									Value: "0",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   49,
								},
								File:   "group_ungroup_test.flux",
								Source: "yield(name: \"0\")",
								Start: ast.Position{
									Column: 8,
									Line:   49,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   49,
									},
									File:   "group_ungroup_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   49,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   44,
							},
							File:   "group_ungroup_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 20,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   44,
								},
								File:   "group_ungroup_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 20,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   44,
							},
							File:   "group_ungroup_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 26,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 130,
							Line:   51,
						},
						File:   "group_ungroup_test.flux",
						Source: "_group_ungroup = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_ungroup})",
						Start: ast.Position{
							Column: 6,
							Line:   51,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   51,
							},
							File:   "group_ungroup_test.flux",
							Source: "_group_ungroup",
							Start: ast.Position{
								Column: 6,
								Line:   51,
							},
						},
					},
					Name: "_group_ungroup",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 130,
								Line:   51,
							},
							File:   "group_ungroup_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_ungroup})",
							Start: ast.Position{
								Column: 23,
								Line:   51,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 130,
									Line:   51,
								},
								File:   "group_ungroup_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_ungroup})",
								Start: ast.Position{
									Column: 29,
									Line:   51,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 129,
										Line:   51,
									},
									File:   "group_ungroup_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_ungroup}",
									Start: ast.Position{
										Column: 30,
										Line:   51,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   51,
										},
										File:   "group_ungroup_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 31,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   51,
											},
											File:   "group_ungroup_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 31,
												Line:   51,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   51,
												},
												File:   "group_ungroup_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 58,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   51,
													},
													File:   "group_ungroup_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 58,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   51,
														},
														File:   "group_ungroup_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 58,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   51,
														},
														File:   "group_ungroup_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 63,
															Line:   51,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   51,
											},
											File:   "group_ungroup_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 38,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   51,
												},
												File:   "group_ungroup_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 38,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   51,
													},
													File:   "group_ungroup_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 38,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   51,
													},
													File:   "group_ungroup_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 46,
														Line:   51,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 107,
											Line:   51,
										},
										File:   "group_ungroup_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 72,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   51,
											},
											File:   "group_ungroup_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 72,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   51,
												},
												File:   "group_ungroup_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 94,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   51,
													},
													File:   "group_ungroup_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 94,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   51,
														},
														File:   "group_ungroup_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 94,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   51,
														},
														File:   "group_ungroup_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 99,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   51,
											},
											File:   "group_ungroup_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 78,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   51,
												},
												File:   "group_ungroup_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 78,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   51,
													},
													File:   "group_ungroup_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 78,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   51,
													},
													File:   "group_ungroup_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 86,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 128,
											Line:   51,
										},
										File:   "group_ungroup_test.flux",
										Source: "fn: t_group_ungroup",
										Start: ast.Position{
											Column: 109,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   51,
											},
											File:   "group_ungroup_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 109,
												Line:   51,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 128,
												Line:   51,
											},
											File:   "group_ungroup_test.flux",
											Source: "t_group_ungroup",
											Start: ast.Position{
												Column: 113,
												Line:   51,
											},
										},
									},
									Name: "t_group_ungroup",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 130,
						Line:   51,
					},
					File:   "group_ungroup_test.flux",
					Source: "test _group_ungroup = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_group_ungroup})",
					Start: ast.Position{
						Column: 1,
						Line:   51,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "group_ungroup_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "group_ungroup_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "group_ungroup_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "group_ungroup_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "group_ungroup_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   41,
				},
				File:   "highestAverage_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"\noutData = \"\n#datatype,string,long,string,string,double\n#group,false,false,false,false,false\n#default,_result,,,,\n,result,table,_measurement,host,_value\n,,0,CC,HostD,50\n,,0,CC,HostB,33\n,,0,BB,HostA,20\n\"\nt_highestAverage = (table=<-) => table\n    |> highestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])\n\ntest _highestAverage = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestAverage})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "highestAverage_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "highestAverage_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "highestAverage_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "highestAverage_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "highestAverage_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   28,
					},
					File:   "highestAverage_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "highestAverage_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   28,
						},
						File:   "highestAverage_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "highestAverage_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,double\n#group,false,false,false,false,false\n#default,_result,,,,\n,result,table,_measurement,host,_value\n,,0,CC,HostD,50\n,,0,CC,HostB,33\n,,0,BB,HostA,20\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   29,
						},
						File:   "highestAverage_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "highestAverage_test.flux",
						Source: "\"\n#datatype,string,long,string,string,double\n#group,false,false,false,false,false\n#default,_result,,,,\n,result,table,_measurement,host,_value\n,,0,CC,HostD,50\n,,0,CC,HostB,33\n,,0,BB,HostA,20\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   29,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,double\n#group,false,false,false,false,false\n#default,_result,,,,\n,result,table,_measurement,host,_value\n,,0,CC,HostD,50\n,,0,CC,HostB,33\n,,0,BB,HostA,20\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 68,
						Line:   39,
					},
					File:   "highestAverage_test.flux",
					Source: "t_highestAverage = (table=<-) => table\n    |> highestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   38,
						},
						File:   "highestAverage_test.flux",
						Source: "t_highestAverage",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_highestAverage",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 68,
							Line:   39,
						},
						File:   "highestAverage_test.flux",
						Source: "(table=<-) => table\n    |> highestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])",
						Start: ast.Position{
							Column: 20,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   38,
								},
								File:   "highestAverage_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 34,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 68,
								Line:   39,
							},
							File:   "highestAverage_test.flux",
							Source: "table\n    |> highestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])",
							Start: ast.Position{
								Column: 34,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 67,
										Line:   39,
									},
									File:   "highestAverage_test.flux",
									Source: "n: 3, groupColumns: [\"_measurement\", \"host\"]",
									Start: ast.Position{
										Column: 23,
										Line:   39,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 27,
											Line:   39,
										},
										File:   "highestAverage_test.flux",
										Source: "n: 3",
										Start: ast.Position{
											Column: 23,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   39,
											},
											File:   "highestAverage_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 23,
												Line:   39,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   39,
											},
											File:   "highestAverage_test.flux",
											Source: "3",
											Start: ast.Position{
												Column: 26,
												Line:   39,
											},
										},
									},
									Value: int64(3),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   39,
										},
										File:   "highestAverage_test.flux",
										Source: "groupColumns: [\"_measurement\", \"host\"]",
										Start: ast.Position{
											Column: 29,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "highestAverage_test.flux",
											Source: "groupColumns",
											Start: ast.Position{
												Column: 29,
												Line:   39,
											},
										},
									},
									Name: "groupColumns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   39,
											},
											File:   "highestAverage_test.flux",
											Source: "[\"_measurement\", \"host\"]",
											Start: ast.Position{
												Column: 43,
												Line:   39,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   39,
												},
												File:   "highestAverage_test.flux",
												Source: "\"_measurement\"",
												Start: ast.Position{
													Column: 44,
													Line:   39,
												},
											},
										},
										Value: "_measurement",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   39,
												},
												File:   "highestAverage_test.flux",
												Source: "\"host\"",
												Start: ast.Position{
													Column: 60,
													Line:   39,
												},
											},
										},
										Value: "host",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 68,
									Line:   39,
								},
								File:   "highestAverage_test.flux",
								Source: "highestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])",
								Start: ast.Position{
									Column: 8,
									Line:   39,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 22,
										Line:   39,
									},
									File:   "highestAverage_test.flux",
									Source: "highestAverage",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Name: "highestAverage",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   38,
							},
							File:   "highestAverage_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   38,
								},
								File:   "highestAverage_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   38,
							},
							File:   "highestAverage_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   41,
						},
						File:   "highestAverage_test.flux",
						Source: "_highestAverage = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestAverage})",
						Start: ast.Position{
							Column: 6,
							Line:   41,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   41,
							},
							File:   "highestAverage_test.flux",
							Source: "_highestAverage",
							Start: ast.Position{
								Column: 6,
								Line:   41,
							},
						},
					},
					Name: "_highestAverage",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   41,
							},
							File:   "highestAverage_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestAverage})",
							Start: ast.Position{
								Column: 24,
								Line:   41,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   41,
								},
								File:   "highestAverage_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestAverage})",
								Start: ast.Position{
									Column: 30,
									Line:   41,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   41,
									},
									File:   "highestAverage_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestAverage}",
									Start: ast.Position{
										Column: 31,
										Line:   41,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   41,
										},
										File:   "highestAverage_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   41,
											},
											File:   "highestAverage_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   41,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   41,
												},
												File:   "highestAverage_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   41,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   41,
													},
													File:   "highestAverage_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   41,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   41,
														},
														File:   "highestAverage_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   41,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   41,
														},
														File:   "highestAverage_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   41,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   41,
											},
											File:   "highestAverage_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   41,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   41,
												},
												File:   "highestAverage_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   41,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   41,
													},
													File:   "highestAverage_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   41,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   41,
													},
													File:   "highestAverage_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   41,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   41,
										},
										File:   "highestAverage_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   41,
											},
											File:   "highestAverage_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   41,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   41,
												},
												File:   "highestAverage_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   41,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   41,
													},
													File:   "highestAverage_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   41,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   41,
														},
														File:   "highestAverage_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   41,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   41,
														},
														File:   "highestAverage_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   41,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   41,
											},
											File:   "highestAverage_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   41,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   41,
												},
												File:   "highestAverage_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   41,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   41,
													},
													File:   "highestAverage_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   41,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   41,
													},
													File:   "highestAverage_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   41,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   41,
										},
										File:   "highestAverage_test.flux",
										Source: "fn: t_highestAverage",
										Start: ast.Position{
											Column: 110,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   41,
											},
											File:   "highestAverage_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   41,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   41,
											},
											File:   "highestAverage_test.flux",
											Source: "t_highestAverage",
											Start: ast.Position{
												Column: 114,
												Line:   41,
											},
										},
									},
									Name: "t_highestAverage",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   41,
					},
					File:   "highestAverage_test.flux",
					Source: "test _highestAverage = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestAverage})",
					Start: ast.Position{
						Column: 1,
						Line:   41,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "highestAverage_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "highestAverage_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "highestAverage_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "highestAverage_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "highestAverage_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   42,
				},
				File:   "highestCurrent_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T02:00:00Z,30,A,BB,HostA\n\"\nt_highestCurrent = (table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> highestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])\n\ntest _highestCurrent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestCurrent})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "highestCurrent_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "highestCurrent_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "highestCurrent_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "highestCurrent_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "highestCurrent_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   28,
					},
					File:   "highestCurrent_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "highestCurrent_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   28,
						},
						File:   "highestCurrent_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "highestCurrent_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T02:00:00Z,30,A,BB,HostA\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   29,
						},
						File:   "highestCurrent_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "highestCurrent_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T02:00:00Z,30,A,BB,HostA\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   29,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T02:00:00Z,30,A,BB,HostA\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 68,
						Line:   40,
					},
					File:   "highestCurrent_test.flux",
					Source: "t_highestCurrent = (table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> highestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   38,
						},
						File:   "highestCurrent_test.flux",
						Source: "t_highestCurrent",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_highestCurrent",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 68,
							Line:   40,
						},
						File:   "highestCurrent_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> highestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])",
						Start: ast.Position{
							Column: 20,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   38,
									},
									File:   "highestCurrent_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   38,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   39,
								},
								File:   "highestCurrent_test.flux",
								Source: "table\n    |> range(start: 2018-11-07T00:00:00Z)",
								Start: ast.Position{
									Column: 34,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   39,
										},
										File:   "highestCurrent_test.flux",
										Source: "start: 2018-11-07T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "highestCurrent_test.flux",
											Source: "start: 2018-11-07T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   39,
												},
												File:   "highestCurrent_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   39,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   39,
												},
												File:   "highestCurrent_test.flux",
												Source: "2018-11-07T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   39,
												},
											},
										},
										Value: parser.MustParseTime("2018-11-07T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   39,
									},
									File:   "highestCurrent_test.flux",
									Source: "range(start: 2018-11-07T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   39,
										},
										File:   "highestCurrent_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 68,
								Line:   40,
							},
							File:   "highestCurrent_test.flux",
							Source: "table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> highestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])",
							Start: ast.Position{
								Column: 34,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 67,
										Line:   40,
									},
									File:   "highestCurrent_test.flux",
									Source: "n: 3, groupColumns: [\"_measurement\", \"host\"]",
									Start: ast.Position{
										Column: 23,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 27,
											Line:   40,
										},
										File:   "highestCurrent_test.flux",
										Source: "n: 3",
										Start: ast.Position{
											Column: 23,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   40,
											},
											File:   "highestCurrent_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 23,
												Line:   40,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   40,
											},
											File:   "highestCurrent_test.flux",
											Source: "3",
											Start: ast.Position{
												Column: 26,
												Line:   40,
											},
										},
									},
									Value: int64(3),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   40,
										},
										File:   "highestCurrent_test.flux",
										Source: "groupColumns: [\"_measurement\", \"host\"]",
										Start: ast.Position{
											Column: 29,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   40,
											},
											File:   "highestCurrent_test.flux",
											Source: "groupColumns",
											Start: ast.Position{
												Column: 29,
												Line:   40,
											},
										},
									},
									Name: "groupColumns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   40,
											},
											File:   "highestCurrent_test.flux",
											Source: "[\"_measurement\", \"host\"]",
											Start: ast.Position{
												Column: 43,
												Line:   40,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   40,
												},
												File:   "highestCurrent_test.flux",
												Source: "\"_measurement\"",
												Start: ast.Position{
													Column: 44,
													Line:   40,
												},
											},
										},
										Value: "_measurement",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   40,
												},
												File:   "highestCurrent_test.flux",
												Source: "\"host\"",
												Start: ast.Position{
													Column: 60,
													Line:   40,
												},
											},
										},
										Value: "host",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 68,
									Line:   40,
								},
								File:   "highestCurrent_test.flux",
								Source: "highestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 22,
										Line:   40,
									},
									File:   "highestCurrent_test.flux",
									Source: "highestCurrent",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "highestCurrent",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   38,
							},
							File:   "highestCurrent_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   38,
								},
								File:   "highestCurrent_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   38,
							},
							File:   "highestCurrent_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   42,
						},
						File:   "highestCurrent_test.flux",
						Source: "_highestCurrent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestCurrent})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   42,
							},
							File:   "highestCurrent_test.flux",
							Source: "_highestCurrent",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_highestCurrent",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   42,
							},
							File:   "highestCurrent_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestCurrent})",
							Start: ast.Position{
								Column: 24,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   42,
								},
								File:   "highestCurrent_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestCurrent})",
								Start: ast.Position{
									Column: 30,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   42,
									},
									File:   "highestCurrent_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestCurrent}",
									Start: ast.Position{
										Column: 31,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   42,
										},
										File:   "highestCurrent_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   42,
											},
											File:   "highestCurrent_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   42,
												},
												File:   "highestCurrent_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   42,
													},
													File:   "highestCurrent_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   42,
														},
														File:   "highestCurrent_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   42,
														},
														File:   "highestCurrent_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   42,
											},
											File:   "highestCurrent_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   42,
												},
												File:   "highestCurrent_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   42,
													},
													File:   "highestCurrent_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   42,
													},
													File:   "highestCurrent_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   42,
										},
										File:   "highestCurrent_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   42,
											},
											File:   "highestCurrent_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   42,
												},
												File:   "highestCurrent_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   42,
													},
													File:   "highestCurrent_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   42,
														},
														File:   "highestCurrent_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   42,
														},
														File:   "highestCurrent_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   42,
											},
											File:   "highestCurrent_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   42,
												},
												File:   "highestCurrent_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   42,
													},
													File:   "highestCurrent_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   42,
													},
													File:   "highestCurrent_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   42,
										},
										File:   "highestCurrent_test.flux",
										Source: "fn: t_highestCurrent",
										Start: ast.Position{
											Column: 110,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   42,
											},
											File:   "highestCurrent_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   42,
											},
											File:   "highestCurrent_test.flux",
											Source: "t_highestCurrent",
											Start: ast.Position{
												Column: 114,
												Line:   42,
											},
										},
									},
									Name: "t_highestCurrent",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   42,
					},
					File:   "highestCurrent_test.flux",
					Source: "test _highestCurrent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestCurrent})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "highestCurrent_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "highestCurrent_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "highestCurrent_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "highestCurrent_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "highestCurrent_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   42,
				},
				File:   "highestMax_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,0,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n\"\nt_highestMax = (table=<-) => table\n    |> highestMax(n: 3, groupColumns: [\"_measurement\", \"host\"])\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _highestMax = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestMax})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "highestMax_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "highestMax_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "highestMax_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "highestMax_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "highestMax_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   28,
					},
					File:   "highestMax_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "highestMax_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   28,
						},
						File:   "highestMax_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "highestMax_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,0,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   29,
						},
						File:   "highestMax_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "highestMax_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,0,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   29,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,0,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   40,
					},
					File:   "highestMax_test.flux",
					Source: "t_highestMax = (table=<-) => table\n    |> highestMax(n: 3, groupColumns: [\"_measurement\", \"host\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   38,
						},
						File:   "highestMax_test.flux",
						Source: "t_highestMax",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_highestMax",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   40,
						},
						File:   "highestMax_test.flux",
						Source: "(table=<-) => table\n    |> highestMax(n: 3, groupColumns: [\"_measurement\", \"host\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 16,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   38,
									},
									File:   "highestMax_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   38,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 64,
									Line:   39,
								},
								File:   "highestMax_test.flux",
								Source: "table\n    |> highestMax(n: 3, groupColumns: [\"_measurement\", \"host\"])",
								Start: ast.Position{
									Column: 30,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   39,
										},
										File:   "highestMax_test.flux",
										Source: "n: 3, groupColumns: [\"_measurement\", \"host\"]",
										Start: ast.Position{
											Column: 19,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   39,
											},
											File:   "highestMax_test.flux",
											Source: "n: 3",
											Start: ast.Position{
												Column: 19,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   39,
												},
												File:   "highestMax_test.flux",
												Source: "n",
												Start: ast.Position{
													Column: 19,
													Line:   39,
												},
											},
										},
										Name: "n",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 23,
													Line:   39,
												},
												File:   "highestMax_test.flux",
												Source: "3",
												Start: ast.Position{
													Column: 22,
													Line:   39,
												},
											},
										},
										Value: int64(3),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   39,
											},
											File:   "highestMax_test.flux",
											Source: "groupColumns: [\"_measurement\", \"host\"]",
											Start: ast.Position{
												Column: 25,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   39,
												},
												File:   "highestMax_test.flux",
												Source: "groupColumns",
												Start: ast.Position{
													Column: 25,
													Line:   39,
												},
											},
										},
										Name: "groupColumns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   39,
												},
												File:   "highestMax_test.flux",
												Source: "[\"_measurement\", \"host\"]",
												Start: ast.Position{
													Column: 39,
													Line:   39,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   39,
													},
													File:   "highestMax_test.flux",
													Source: "\"_measurement\"",
													Start: ast.Position{
														Column: 40,
														Line:   39,
													},
												},
											},
											Value: "_measurement",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   39,
													},
													File:   "highestMax_test.flux",
													Source: "\"host\"",
													Start: ast.Position{
														Column: 56,
														Line:   39,
													},
												},
											},
											Value: "host",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 64,
										Line:   39,
									},
									File:   "highestMax_test.flux",
									Source: "highestMax(n: 3, groupColumns: [\"_measurement\", \"host\"])",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 18,
											Line:   39,
										},
										File:   "highestMax_test.flux",
										Source: "highestMax",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "highestMax",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   40,
							},
							File:   "highestMax_test.flux",
							Source: "table\n    |> highestMax(n: 3, groupColumns: [\"_measurement\", \"host\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 30,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   40,
									},
									File:   "highestMax_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   40,
										},
										File:   "highestMax_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   40,
											},
											File:   "highestMax_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   40,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   40,
											},
											File:   "highestMax_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   40,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   40,
												},
												File:   "highestMax_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   40,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   40,
												},
												File:   "highestMax_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   40,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   40,
								},
								File:   "highestMax_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   40,
									},
									File:   "highestMax_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   38,
							},
							File:   "highestMax_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   38,
								},
								File:   "highestMax_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   38,
							},
							File:   "highestMax_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   42,
						},
						File:   "highestMax_test.flux",
						Source: "_highestMax = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestMax})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   42,
							},
							File:   "highestMax_test.flux",
							Source: "_highestMax",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_highestMax",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   42,
							},
							File:   "highestMax_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestMax})",
							Start: ast.Position{
								Column: 20,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   42,
								},
								File:   "highestMax_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestMax})",
								Start: ast.Position{
									Column: 26,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   42,
									},
									File:   "highestMax_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestMax}",
									Start: ast.Position{
										Column: 27,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   42,
										},
										File:   "highestMax_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   42,
											},
											File:   "highestMax_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   42,
												},
												File:   "highestMax_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   42,
													},
													File:   "highestMax_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   42,
														},
														File:   "highestMax_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   42,
														},
														File:   "highestMax_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   42,
											},
											File:   "highestMax_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   42,
												},
												File:   "highestMax_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   42,
													},
													File:   "highestMax_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   42,
													},
													File:   "highestMax_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   42,
										},
										File:   "highestMax_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   42,
											},
											File:   "highestMax_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   42,
												},
												File:   "highestMax_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   42,
													},
													File:   "highestMax_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   42,
														},
														File:   "highestMax_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   42,
														},
														File:   "highestMax_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   42,
											},
											File:   "highestMax_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   42,
												},
												File:   "highestMax_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   42,
													},
													File:   "highestMax_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   42,
													},
													File:   "highestMax_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   42,
										},
										File:   "highestMax_test.flux",
										Source: "fn: t_highestMax",
										Start: ast.Position{
											Column: 106,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   42,
											},
											File:   "highestMax_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   42,
											},
											File:   "highestMax_test.flux",
											Source: "t_highestMax",
											Start: ast.Position{
												Column: 110,
												Line:   42,
											},
										},
									},
									Name: "t_highestMax",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   42,
					},
					File:   "highestMax_test.flux",
					Source: "test _highestMax = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_highestMax})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "highestMax_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "highestMax_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "highestMax_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "highestMax_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "highestMax_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 122,
					Line:   43,
				},
				File:   "histogram_normalize_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,theValue,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1.5,m0\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,ub,theCount,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,-1,0,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,0.5,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,1,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,1,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,-1,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,0.6666666666666666,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1,0.6666666666666666,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,2,1,m0\n\"\nt_histogram = (table=<-) => table\n    |> histogram(\n        bins: [-1.0, 0.0, 1.0, 2.0],\n        normalize: true,\n        column: \"theValue\",\n        countColumn: \"theCount\",\n        upperBoundColumn: \"ub\",\n    )\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _histogram = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "histogram_normalize_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "histogram_normalize_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "histogram_normalize_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "histogram_normalize_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "histogram_normalize_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   18,
					},
					File:   "histogram_normalize_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,theValue,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1.5,m0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "histogram_normalize_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   18,
						},
						File:   "histogram_normalize_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,theValue,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1.5,m0\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,theValue,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1.5,m0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   32,
					},
					File:   "histogram_normalize_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,ub,theCount,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,-1,0,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,0.5,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,1,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,1,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,-1,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,0.6666666666666666,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1,0.6666666666666666,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,2,1,m0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   19,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   19,
						},
						File:   "histogram_normalize_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   19,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   32,
						},
						File:   "histogram_normalize_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,ub,theCount,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,-1,0,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,0.5,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,1,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,1,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,-1,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,0.6666666666666666,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1,0.6666666666666666,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,2,1,m0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   19,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,ub,theCount,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,-1,0,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,0.5,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,1,m0\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,1,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,-1,0,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,0.6666666666666666,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1,0.6666666666666666,m0\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,2,1,m0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   41,
					},
					File:   "histogram_normalize_test.flux",
					Source: "t_histogram = (table=<-) => table\n    |> histogram(\n        bins: [-1.0, 0.0, 1.0, 2.0],\n        normalize: true,\n        column: \"theValue\",\n        countColumn: \"theCount\",\n        upperBoundColumn: \"ub\",\n    )\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   33,
						},
						File:   "histogram_normalize_test.flux",
						Source: "t_histogram",
						Start: ast.Position{
							Column: 1,
							Line:   33,
						},
					},
				},
				Name: "t_histogram",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   41,
						},
						File:   "histogram_normalize_test.flux",
						Source: "(table=<-) => table\n    |> histogram(\n        bins: [-1.0, 0.0, 1.0, 2.0],\n        normalize: true,\n        column: \"theValue\",\n        countColumn: \"theCount\",\n        upperBoundColumn: \"ub\",\n    )\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 15,
							Line:   33,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   33,
									},
									File:   "histogram_normalize_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 29,
										Line:   33,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   40,
								},
								File:   "histogram_normalize_test.flux",
								Source: "table\n    |> histogram(\n        bins: [-1.0, 0.0, 1.0, 2.0],\n        normalize: true,\n        column: \"theValue\",\n        countColumn: \"theCount\",\n        upperBoundColumn: \"ub\",\n    )",
								Start: ast.Position{
									Column: 29,
									Line:   33,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 31,
											Line:   39,
										},
										File:   "histogram_normalize_test.flux",
										Source: "bins: [-1.0, 0.0, 1.0, 2.0],\n        normalize: true,\n        column: \"theValue\",\n        countColumn: \"theCount\",\n        upperBoundColumn: \"ub\"",
										Start: ast.Position{
											Column: 9,
											Line:   35,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   35,
											},
											File:   "histogram_normalize_test.flux",
											Source: "bins: [-1.0, 0.0, 1.0, 2.0]",
											Start: ast.Position{
												Column: 9,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 13,
													Line:   35,
												},
												File:   "histogram_normalize_test.flux",
												Source: "bins",
												Start: ast.Position{
													Column: 9,
													Line:   35,
												},
											},
										},
										Name: "bins",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   35,
												},
												File:   "histogram_normalize_test.flux",
												Source: "[-1.0, 0.0, 1.0, 2.0]",
												Start: ast.Position{
													Column: 15,
													Line:   35,
												},
											},
										},
										Elements: []ast.Expression{&ast.UnaryExpression{
											Argument: &ast.FloatLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 20,
															Line:   35,
														},
														File:   "histogram_normalize_test.flux",
														Source: "1.0",
														Start: ast.Position{
															Column: 17,
															Line:   35,
														},
													},
												},
												Value: 1.0,
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   35,
													},
													File:   "histogram_normalize_test.flux",
													Source: "-1.0",
													Start: ast.Position{
														Column: 16,
														Line:   35,
													},
												},
											},
											Operator: 6,
										}, &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   35,
													},
													File:   "histogram_normalize_test.flux",
													Source: "0.0",
													Start: ast.Position{
														Column: 22,
														Line:   35,
													},
												},
											},
											Value: 0.0,
										}, &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   35,
													},
													File:   "histogram_normalize_test.flux",
													Source: "1.0",
													Start: ast.Position{
														Column: 27,
														Line:   35,
													},
												},
											},
											Value: 1.0,
										}, &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   35,
													},
													File:   "histogram_normalize_test.flux",
													Source: "2.0",
													Start: ast.Position{
														Column: 32,
														Line:   35,
													},
												},
											},
											Value: 2.0,
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   36,
											},
											File:   "histogram_normalize_test.flux",
											Source: "normalize: true",
											Start: ast.Position{
												Column: 9,
												Line:   36,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   36,
												},
												File:   "histogram_normalize_test.flux",
												Source: "normalize",
												Start: ast.Position{
													Column: 9,
													Line:   36,
												},
											},
										},
										Name: "normalize",
									},
									Separator: nil,
									Value: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   36,
												},
												File:   "histogram_normalize_test.flux",
												Source: "true",
												Start: ast.Position{
													Column: 20,
													Line:   36,
												},
											},
										},
										Name: "true",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   37,
											},
											File:   "histogram_normalize_test.flux",
											Source: "column: \"theValue\"",
											Start: ast.Position{
												Column: 9,
												Line:   37,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   37,
												},
												File:   "histogram_normalize_test.flux",
												Source: "column",
												Start: ast.Position{
													Column: 9,
													Line:   37,
												},
											},
										},
										Name: "column",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 27,
													Line:   37,
												},
												File:   "histogram_normalize_test.flux",
												Source: "\"theValue\"",
												Start: ast.Position{
													Column: 17,
													Line:   37,
												},
											},
										},
										Value: "theValue",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   38,
											},
											File:   "histogram_normalize_test.flux",
											Source: "countColumn: \"theCount\"",
											Start: ast.Position{
												Column: 9,
												Line:   38,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   38,
												},
												File:   "histogram_normalize_test.flux",
												Source: "countColumn",
												Start: ast.Position{
													Column: 9,
													Line:   38,
												},
											},
										},
										Name: "countColumn",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   38,
												},
												File:   "histogram_normalize_test.flux",
												Source: "\"theCount\"",
												Start: ast.Position{
													Column: 22,
													Line:   38,
												},
											},
										},
										Value: "theCount",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   39,
											},
											File:   "histogram_normalize_test.flux",
											Source: "upperBoundColumn: \"ub\"",
											Start: ast.Position{
												Column: 9,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 25,
													Line:   39,
												},
												File:   "histogram_normalize_test.flux",
												Source: "upperBoundColumn",
												Start: ast.Position{
													Column: 9,
													Line:   39,
												},
											},
										},
										Name: "upperBoundColumn",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   39,
												},
												File:   "histogram_normalize_test.flux",
												Source: "\"ub\"",
												Start: ast.Position{
													Column: 27,
													Line:   39,
												},
											},
										},
										Value: "ub",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 6,
										Line:   40,
									},
									File:   "histogram_normalize_test.flux",
									Source: "histogram(\n        bins: [-1.0, 0.0, 1.0, 2.0],\n        normalize: true,\n        column: \"theValue\",\n        countColumn: \"theCount\",\n        upperBoundColumn: \"ub\",\n    )",
									Start: ast.Position{
										Column: 8,
										Line:   34,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   34,
										},
										File:   "histogram_normalize_test.flux",
										Source: "histogram",
										Start: ast.Position{
											Column: 8,
											Line:   34,
										},
									},
								},
								Name: "histogram",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   41,
							},
							File:   "histogram_normalize_test.flux",
							Source: "table\n    |> histogram(\n        bins: [-1.0, 0.0, 1.0, 2.0],\n        normalize: true,\n        column: \"theValue\",\n        countColumn: \"theCount\",\n        upperBoundColumn: \"ub\",\n    )\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 29,
								Line:   33,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   41,
									},
									File:   "histogram_normalize_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   41,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   41,
										},
										File:   "histogram_normalize_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   41,
											},
											File:   "histogram_normalize_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   41,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   41,
											},
											File:   "histogram_normalize_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   41,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   41,
												},
												File:   "histogram_normalize_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   41,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   41,
												},
												File:   "histogram_normalize_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   41,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   41,
								},
								File:   "histogram_normalize_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   41,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   41,
									},
									File:   "histogram_normalize_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   41,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   33,
							},
							File:   "histogram_normalize_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   33,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   33,
								},
								File:   "histogram_normalize_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   33,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   33,
							},
							File:   "histogram_normalize_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   33,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 122,
							Line:   43,
						},
						File:   "histogram_normalize_test.flux",
						Source: "_histogram = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
						Start: ast.Position{
							Column: 6,
							Line:   43,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   43,
							},
							File:   "histogram_normalize_test.flux",
							Source: "_histogram",
							Start: ast.Position{
								Column: 6,
								Line:   43,
							},
						},
					},
					Name: "_histogram",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 122,
								Line:   43,
							},
							File:   "histogram_normalize_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
							Start: ast.Position{
								Column: 19,
								Line:   43,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 122,
									Line:   43,
								},
								File:   "histogram_normalize_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
								Start: ast.Position{
									Column: 25,
									Line:   43,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 121,
										Line:   43,
									},
									File:   "histogram_normalize_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram}",
									Start: ast.Position{
										Column: 26,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 66,
											Line:   43,
										},
										File:   "histogram_normalize_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 27,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   43,
											},
											File:   "histogram_normalize_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 27,
												Line:   43,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   43,
												},
												File:   "histogram_normalize_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 54,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   43,
													},
													File:   "histogram_normalize_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 54,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   43,
														},
														File:   "histogram_normalize_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 54,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   43,
														},
														File:   "histogram_normalize_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 59,
															Line:   43,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   43,
											},
											File:   "histogram_normalize_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 34,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   43,
												},
												File:   "histogram_normalize_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 34,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   43,
													},
													File:   "histogram_normalize_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 34,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   43,
													},
													File:   "histogram_normalize_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 42,
														Line:   43,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   43,
										},
										File:   "histogram_normalize_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 68,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   43,
											},
											File:   "histogram_normalize_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 68,
												Line:   43,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   43,
												},
												File:   "histogram_normalize_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 90,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   43,
													},
													File:   "histogram_normalize_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 90,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 93,
															Line:   43,
														},
														File:   "histogram_normalize_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 90,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   43,
														},
														File:   "histogram_normalize_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 95,
															Line:   43,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   43,
											},
											File:   "histogram_normalize_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 74,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   43,
												},
												File:   "histogram_normalize_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 74,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   43,
													},
													File:   "histogram_normalize_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 74,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   43,
													},
													File:   "histogram_normalize_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 82,
														Line:   43,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 120,
											Line:   43,
										},
										File:   "histogram_normalize_test.flux",
										Source: "fn: t_histogram",
										Start: ast.Position{
											Column: 105,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   43,
											},
											File:   "histogram_normalize_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 105,
												Line:   43,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   43,
											},
											File:   "histogram_normalize_test.flux",
											Source: "t_histogram",
											Start: ast.Position{
												Column: 109,
												Line:   43,
											},
										},
									},
									Name: "t_histogram",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 122,
						Line:   43,
					},
					File:   "histogram_normalize_test.flux",
					Source: "test _histogram = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "histogram_normalize_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "histogram_normalize_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "histogram_normalize_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "histogram_normalize_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "histogram_normalize_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 149,
					Line:   35,
				},
				File:   "histogram_quantile_minvalue_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,_value,le,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,-80,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,11,-60,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,12,-40,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,13,-20,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,14,-0,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,15,20,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,16,40,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,17,60,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,18,80,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,19,+Inf,mm\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,x_duration_seconds,-90.5,mm\n\"\nt_histogram_quantile = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> histogramQuantile(quantile: 0.25, minValue: -100.0)\n\ntest _histogram_quantile_minvalue = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "histogram_quantile_minvalue_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "histogram_quantile_minvalue_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "histogram_quantile_minvalue_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "histogram_quantile_minvalue_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   23,
					},
					File:   "histogram_quantile_minvalue_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,_value,le,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,-80,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,11,-60,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,12,-40,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,13,-20,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,14,-0,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,15,20,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,16,40,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,17,60,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,18,80,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,19,+Inf,mm\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   23,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,_value,le,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,-80,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,11,-60,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,12,-40,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,13,-20,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,14,-0,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,15,20,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,16,40,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,17,60,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,18,80,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,19,+Inf,mm\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,_value,le,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,-80,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,11,-60,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,12,-40,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,13,-20,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,14,-0,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,15,20,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,16,40,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,17,60,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,18,80,mm\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,19,+Inf,mm\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   30,
					},
					File:   "histogram_quantile_minvalue_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,x_duration_seconds,-90.5,mm\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   24,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   24,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   24,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   30,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,x_duration_seconds,-90.5,mm\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   24,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,x_duration_seconds,-90.5,mm\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 59,
						Line:   33,
					},
					File:   "histogram_quantile_minvalue_test.flux",
					Source: "t_histogram_quantile = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> histogramQuantile(quantile: 0.25, minValue: -100.0)",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 21,
							Line:   31,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "t_histogram_quantile",
						Start: ast.Position{
							Column: 1,
							Line:   31,
						},
					},
				},
				Name: "t_histogram_quantile",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 59,
							Line:   33,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> histogramQuantile(quantile: 0.25, minValue: -100.0)",
						Start: ast.Position{
							Column: 24,
							Line:   31,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   31,
									},
									File:   "histogram_quantile_minvalue_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 38,
										Line:   31,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   32,
								},
								File:   "histogram_quantile_minvalue_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:00Z)",
								Start: ast.Position{
									Column: 38,
									Line:   31,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   32,
										},
										File:   "histogram_quantile_minvalue_test.flux",
										Source: "start: 2018-05-22T19:53:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   32,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   32,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "start: 2018-05-22T19:53:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   32,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   32,
												},
												File:   "histogram_quantile_minvalue_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   32,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   32,
												},
												File:   "histogram_quantile_minvalue_test.flux",
												Source: "2018-05-22T19:53:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   32,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   32,
									},
									File:   "histogram_quantile_minvalue_test.flux",
									Source: "range(start: 2018-05-22T19:53:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   32,
										},
										File:   "histogram_quantile_minvalue_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   32,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 59,
								Line:   33,
							},
							File:   "histogram_quantile_minvalue_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> histogramQuantile(quantile: 0.25, minValue: -100.0)",
							Start: ast.Position{
								Column: 38,
								Line:   31,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 58,
										Line:   33,
									},
									File:   "histogram_quantile_minvalue_test.flux",
									Source: "quantile: 0.25, minValue: -100.0",
									Start: ast.Position{
										Column: 26,
										Line:   33,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   33,
										},
										File:   "histogram_quantile_minvalue_test.flux",
										Source: "quantile: 0.25",
										Start: ast.Position{
											Column: 26,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   33,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "quantile",
											Start: ast.Position{
												Column: 26,
												Line:   33,
											},
										},
									},
									Name: "quantile",
								},
								Separator: nil,
								Value: &ast.FloatLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   33,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "0.25",
											Start: ast.Position{
												Column: 36,
												Line:   33,
											},
										},
									},
									Value: 0.25,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 58,
											Line:   33,
										},
										File:   "histogram_quantile_minvalue_test.flux",
										Source: "minValue: -100.0",
										Start: ast.Position{
											Column: 42,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   33,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "minValue",
											Start: ast.Position{
												Column: 42,
												Line:   33,
											},
										},
									},
									Name: "minValue",
								},
								Separator: nil,
								Value: &ast.UnaryExpression{
									Argument: &ast.FloatLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   33,
												},
												File:   "histogram_quantile_minvalue_test.flux",
												Source: "100.0",
												Start: ast.Position{
													Column: 53,
													Line:   33,
												},
											},
										},
										Value: 100.0,
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 58,
												Line:   33,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "-100.0",
											Start: ast.Position{
												Column: 52,
												Line:   33,
											},
										},
									},
									Operator: 6,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 59,
									Line:   33,
								},
								File:   "histogram_quantile_minvalue_test.flux",
								Source: "histogramQuantile(quantile: 0.25, minValue: -100.0)",
								Start: ast.Position{
									Column: 8,
									Line:   33,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   33,
									},
									File:   "histogram_quantile_minvalue_test.flux",
									Source: "histogramQuantile",
									Start: ast.Position{
										Column: 8,
										Line:   33,
									},
								},
							},
							Name: "histogramQuantile",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   31,
							},
							File:   "histogram_quantile_minvalue_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 25,
								Line:   31,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   31,
								},
								File:   "histogram_quantile_minvalue_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 25,
									Line:   31,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   31,
							},
							File:   "histogram_quantile_minvalue_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 31,
								Line:   31,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 149,
							Line:   35,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "_histogram_quantile_minvalue = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
						Start: ast.Position{
							Column: 6,
							Line:   35,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 34,
								Line:   35,
							},
							File:   "histogram_quantile_minvalue_test.flux",
							Source: "_histogram_quantile_minvalue",
							Start: ast.Position{
								Column: 6,
								Line:   35,
							},
						},
					},
					Name: "_histogram_quantile_minvalue",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 149,
								Line:   35,
							},
							File:   "histogram_quantile_minvalue_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
							Start: ast.Position{
								Column: 37,
								Line:   35,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 149,
									Line:   35,
								},
								File:   "histogram_quantile_minvalue_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
								Start: ast.Position{
									Column: 43,
									Line:   35,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 148,
										Line:   35,
									},
									File:   "histogram_quantile_minvalue_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile}",
									Start: ast.Position{
										Column: 44,
										Line:   35,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 84,
											Line:   35,
										},
										File:   "histogram_quantile_minvalue_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 45,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   35,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 45,
												Line:   35,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   35,
												},
												File:   "histogram_quantile_minvalue_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 72,
													Line:   35,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   35,
													},
													File:   "histogram_quantile_minvalue_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 72,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   35,
														},
														File:   "histogram_quantile_minvalue_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 72,
															Line:   35,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 83,
															Line:   35,
														},
														File:   "histogram_quantile_minvalue_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 77,
															Line:   35,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 84,
												Line:   35,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 52,
												Line:   35,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   35,
												},
												File:   "histogram_quantile_minvalue_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 52,
													Line:   35,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   35,
													},
													File:   "histogram_quantile_minvalue_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 52,
														Line:   35,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   35,
													},
													File:   "histogram_quantile_minvalue_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 60,
														Line:   35,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 121,
											Line:   35,
										},
										File:   "histogram_quantile_minvalue_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 86,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 90,
												Line:   35,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 86,
												Line:   35,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 120,
													Line:   35,
												},
												File:   "histogram_quantile_minvalue_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 108,
													Line:   35,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 120,
														Line:   35,
													},
													File:   "histogram_quantile_minvalue_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 108,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   35,
														},
														File:   "histogram_quantile_minvalue_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 108,
															Line:   35,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 120,
															Line:   35,
														},
														File:   "histogram_quantile_minvalue_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 113,
															Line:   35,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 121,
												Line:   35,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 92,
												Line:   35,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   35,
												},
												File:   "histogram_quantile_minvalue_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 92,
													Line:   35,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   35,
													},
													File:   "histogram_quantile_minvalue_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 92,
														Line:   35,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   35,
													},
													File:   "histogram_quantile_minvalue_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 100,
														Line:   35,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 147,
											Line:   35,
										},
										File:   "histogram_quantile_minvalue_test.flux",
										Source: "fn: t_histogram_quantile",
										Start: ast.Position{
											Column: 123,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 125,
												Line:   35,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 123,
												Line:   35,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 147,
												Line:   35,
											},
											File:   "histogram_quantile_minvalue_test.flux",
											Source: "t_histogram_quantile",
											Start: ast.Position{
												Column: 127,
												Line:   35,
											},
										},
									},
									Name: "t_histogram_quantile",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 149,
						Line:   35,
					},
					File:   "histogram_quantile_minvalue_test.flux",
					Source: "test _histogram_quantile_minvalue = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
					Start: ast.Position{
						Column: 1,
						Line:   35,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "histogram_quantile_minvalue_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "histogram_quantile_minvalue_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "histogram_quantile_minvalue_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "histogram_quantile_minvalue_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 140,
					Line:   48,
				},
				File:   "histogram_quantile_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,count,upperBound,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,0.1,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.2,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.3,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.4,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.5,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.6,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.7,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,8,0.8,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,0.9,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,+Inf,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,-Inf,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,10,0.2,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,15,0.4,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,25,0.6,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,35,0.8,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,45,1,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,45,+Inf,l\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_field,quant,_measurement\n,,0,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,x_duration_seconds,0.8500000000000001,l\n,,1,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,y_duration_seconds,0.91,l\n\"\nt_histogram_quantile = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> histogramQuantile(\n        quantile: 0.9,\n        upperBoundColumn: \"upperBound\",\n        countColumn: \"count\",\n        valueColumn: \"quant\",\n    )\n\ntest _histogram_quantile = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "histogram_quantile_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "histogram_quantile_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "histogram_quantile_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "histogram_quantile_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "histogram_quantile_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   30,
					},
					File:   "histogram_quantile_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,count,upperBound,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,0.1,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.2,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.3,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.4,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.5,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.6,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.7,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,8,0.8,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,0.9,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,+Inf,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,-Inf,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,10,0.2,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,15,0.4,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,25,0.6,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,35,0.8,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,45,1,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,45,+Inf,l\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "histogram_quantile_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   30,
						},
						File:   "histogram_quantile_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,count,upperBound,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,0.1,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.2,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.3,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.4,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.5,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.6,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.7,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,8,0.8,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,0.9,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,+Inf,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,-Inf,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,10,0.2,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,15,0.4,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,25,0.6,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,35,0.8,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,45,1,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,45,+Inf,l\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,count,upperBound,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,0.1,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.2,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.3,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.4,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.5,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.6,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,0.7,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,8,0.8,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,0.9,l\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,10,+Inf,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,-Inf,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,10,0.2,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,15,0.4,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,25,0.6,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,35,0.8,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,45,1,l\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,45,+Inf,l\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   38,
					},
					File:   "histogram_quantile_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_field,quant,_measurement\n,,0,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,x_duration_seconds,0.8500000000000001,l\n,,1,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,y_duration_seconds,0.91,l\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   31,
						},
						File:   "histogram_quantile_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   31,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   38,
						},
						File:   "histogram_quantile_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_field,quant,_measurement\n,,0,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,x_duration_seconds,0.8500000000000001,l\n,,1,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,y_duration_seconds,0.91,l\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   31,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,true,true,false,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_field,quant,_measurement\n,,0,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,x_duration_seconds,0.8500000000000001,l\n,,1,2018-05-22T19:53:00Z,2030-01-01T00:00:00Z,2018-05-22T19:53:00Z,y_duration_seconds,0.91,l\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   46,
					},
					File:   "histogram_quantile_test.flux",
					Source: "t_histogram_quantile = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> histogramQuantile(\n        quantile: 0.9,\n        upperBoundColumn: \"upperBound\",\n        countColumn: \"count\",\n        valueColumn: \"quant\",\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 21,
							Line:   39,
						},
						File:   "histogram_quantile_test.flux",
						Source: "t_histogram_quantile",
						Start: ast.Position{
							Column: 1,
							Line:   39,
						},
					},
				},
				Name: "t_histogram_quantile",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   46,
						},
						File:   "histogram_quantile_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> histogramQuantile(\n        quantile: 0.9,\n        upperBoundColumn: \"upperBound\",\n        countColumn: \"count\",\n        valueColumn: \"quant\",\n    )",
						Start: ast.Position{
							Column: 24,
							Line:   39,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   39,
									},
									File:   "histogram_quantile_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 38,
										Line:   39,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   40,
								},
								File:   "histogram_quantile_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:00Z)",
								Start: ast.Position{
									Column: 38,
									Line:   39,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   40,
										},
										File:   "histogram_quantile_test.flux",
										Source: "start: 2018-05-22T19:53:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   40,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   40,
											},
											File:   "histogram_quantile_test.flux",
											Source: "start: 2018-05-22T19:53:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   40,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   40,
												},
												File:   "histogram_quantile_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   40,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   40,
												},
												File:   "histogram_quantile_test.flux",
												Source: "2018-05-22T19:53:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   40,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   40,
									},
									File:   "histogram_quantile_test.flux",
									Source: "range(start: 2018-05-22T19:53:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   40,
										},
										File:   "histogram_quantile_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   40,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   46,
							},
							File:   "histogram_quantile_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> histogramQuantile(\n        quantile: 0.9,\n        upperBoundColumn: \"upperBound\",\n        countColumn: \"count\",\n        valueColumn: \"quant\",\n    )",
							Start: ast.Position{
								Column: 38,
								Line:   39,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   45,
									},
									File:   "histogram_quantile_test.flux",
									Source: "quantile: 0.9,\n        upperBoundColumn: \"upperBound\",\n        countColumn: \"count\",\n        valueColumn: \"quant\"",
									Start: ast.Position{
										Column: 9,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 22,
											Line:   42,
										},
										File:   "histogram_quantile_test.flux",
										Source: "quantile: 0.9",
										Start: ast.Position{
											Column: 9,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   42,
											},
											File:   "histogram_quantile_test.flux",
											Source: "quantile",
											Start: ast.Position{
												Column: 9,
												Line:   42,
											},
										},
									},
									Name: "quantile",
								},
								Separator: nil,
								Value: &ast.FloatLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 22,
												Line:   42,
											},
											File:   "histogram_quantile_test.flux",
											Source: "0.9",
											Start: ast.Position{
												Column: 19,
												Line:   42,
											},
										},
									},
									Value: 0.9,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 39,
											Line:   43,
										},
										File:   "histogram_quantile_test.flux",
										Source: "upperBoundColumn: \"upperBound\"",
										Start: ast.Position{
											Column: 9,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   43,
											},
											File:   "histogram_quantile_test.flux",
											Source: "upperBoundColumn",
											Start: ast.Position{
												Column: 9,
												Line:   43,
											},
										},
									},
									Name: "upperBoundColumn",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 39,
												Line:   43,
											},
											File:   "histogram_quantile_test.flux",
											Source: "\"upperBound\"",
											Start: ast.Position{
												Column: 27,
												Line:   43,
											},
										},
									},
									Value: "upperBound",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   44,
										},
										File:   "histogram_quantile_test.flux",
										Source: "countColumn: \"count\"",
										Start: ast.Position{
											Column: 9,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   44,
											},
											File:   "histogram_quantile_test.flux",
											Source: "countColumn",
											Start: ast.Position{
												Column: 9,
												Line:   44,
											},
										},
									},
									Name: "countColumn",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   44,
											},
											File:   "histogram_quantile_test.flux",
											Source: "\"count\"",
											Start: ast.Position{
												Column: 22,
												Line:   44,
											},
										},
									},
									Value: "count",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   45,
										},
										File:   "histogram_quantile_test.flux",
										Source: "valueColumn: \"quant\"",
										Start: ast.Position{
											Column: 9,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   45,
											},
											File:   "histogram_quantile_test.flux",
											Source: "valueColumn",
											Start: ast.Position{
												Column: 9,
												Line:   45,
											},
										},
									},
									Name: "valueColumn",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   45,
											},
											File:   "histogram_quantile_test.flux",
											Source: "\"quant\"",
											Start: ast.Position{
												Column: 22,
												Line:   45,
											},
										},
									},
									Value: "quant",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   46,
								},
								File:   "histogram_quantile_test.flux",
								Source: "histogramQuantile(\n        quantile: 0.9,\n        upperBoundColumn: \"upperBound\",\n        countColumn: \"count\",\n        valueColumn: \"quant\",\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   41,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   41,
									},
									File:   "histogram_quantile_test.flux",
									Source: "histogramQuantile",
									Start: ast.Position{
										Column: 8,
										Line:   41,
									},
								},
							},
							Name: "histogramQuantile",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   39,
							},
							File:   "histogram_quantile_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 25,
								Line:   39,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   39,
								},
								File:   "histogram_quantile_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 25,
									Line:   39,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   39,
							},
							File:   "histogram_quantile_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 31,
								Line:   39,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 140,
							Line:   48,
						},
						File:   "histogram_quantile_test.flux",
						Source: "_histogram_quantile = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   48,
							},
							File:   "histogram_quantile_test.flux",
							Source: "_histogram_quantile",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_histogram_quantile",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 140,
								Line:   48,
							},
							File:   "histogram_quantile_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
							Start: ast.Position{
								Column: 28,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 140,
									Line:   48,
								},
								File:   "histogram_quantile_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
								Start: ast.Position{
									Column: 34,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 139,
										Line:   48,
									},
									File:   "histogram_quantile_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile}",
									Start: ast.Position{
										Column: 35,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   48,
										},
										File:   "histogram_quantile_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 36,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   48,
											},
											File:   "histogram_quantile_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 36,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   48,
												},
												File:   "histogram_quantile_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 63,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   48,
													},
													File:   "histogram_quantile_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 63,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   48,
														},
														File:   "histogram_quantile_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 63,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   48,
														},
														File:   "histogram_quantile_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 68,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   48,
											},
											File:   "histogram_quantile_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 43,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   48,
												},
												File:   "histogram_quantile_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 43,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   48,
													},
													File:   "histogram_quantile_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 43,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   48,
													},
													File:   "histogram_quantile_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 51,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   48,
										},
										File:   "histogram_quantile_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 77,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   48,
											},
											File:   "histogram_quantile_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 77,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   48,
												},
												File:   "histogram_quantile_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 99,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   48,
													},
													File:   "histogram_quantile_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 99,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   48,
														},
														File:   "histogram_quantile_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 99,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   48,
														},
														File:   "histogram_quantile_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 104,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   48,
											},
											File:   "histogram_quantile_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 83,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   48,
												},
												File:   "histogram_quantile_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 83,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   48,
													},
													File:   "histogram_quantile_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 83,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   48,
													},
													File:   "histogram_quantile_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 91,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 138,
											Line:   48,
										},
										File:   "histogram_quantile_test.flux",
										Source: "fn: t_histogram_quantile",
										Start: ast.Position{
											Column: 114,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   48,
											},
											File:   "histogram_quantile_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 138,
												Line:   48,
											},
											File:   "histogram_quantile_test.flux",
											Source: "t_histogram_quantile",
											Start: ast.Position{
												Column: 118,
												Line:   48,
											},
										},
									},
									Name: "t_histogram_quantile",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 140,
						Line:   48,
					},
					File:   "histogram_quantile_test.flux",
					Source: "test _histogram_quantile = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram_quantile})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "histogram_quantile_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "histogram_quantile_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "histogram_quantile_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "histogram_quantile_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "histogram_quantile_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 122,
					Line:   37,
				},
				File:   "histogram_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1.5,foo\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,le,_value,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,-1,0,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,1,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,2,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,-1,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,2,3,foo\n\"\nt_histogram = (table=<-) => table\n    |> histogram(bins: [-1.0, 0.0, 1.0, 2.0])\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _histogram = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "histogram_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "histogram_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "histogram_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "histogram_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "histogram_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   18,
					},
					File:   "histogram_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1.5,foo\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "histogram_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   18,
						},
						File:   "histogram_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1.5,foo\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,double,string\n#group,false,false,true,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1.5,foo\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   32,
					},
					File:   "histogram_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,le,_value,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,-1,0,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,1,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,2,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,-1,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,2,3,foo\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   19,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   19,
						},
						File:   "histogram_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   19,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   32,
						},
						File:   "histogram_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,le,_value,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,-1,0,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,1,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,2,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,-1,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,2,3,foo\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   19,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,double,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_field,le,_value,_measurement\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,-1,0,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,0,1,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,1,2,foo\n,,0,2018-05-22T19:53:00Z,x_duration_seconds,2,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,-1,0,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,0,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,1,2,foo\n,,1,2018-05-22T19:53:00Z,y_duration_seconds,2,3,foo\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   35,
					},
					File:   "histogram_test.flux",
					Source: "t_histogram = (table=<-) => table\n    |> histogram(bins: [-1.0, 0.0, 1.0, 2.0])\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   33,
						},
						File:   "histogram_test.flux",
						Source: "t_histogram",
						Start: ast.Position{
							Column: 1,
							Line:   33,
						},
					},
				},
				Name: "t_histogram",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   35,
						},
						File:   "histogram_test.flux",
						Source: "(table=<-) => table\n    |> histogram(bins: [-1.0, 0.0, 1.0, 2.0])\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 15,
							Line:   33,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   33,
									},
									File:   "histogram_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 29,
										Line:   33,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   34,
								},
								File:   "histogram_test.flux",
								Source: "table\n    |> histogram(bins: [-1.0, 0.0, 1.0, 2.0])",
								Start: ast.Position{
									Column: 29,
									Line:   33,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   34,
										},
										File:   "histogram_test.flux",
										Source: "bins: [-1.0, 0.0, 1.0, 2.0]",
										Start: ast.Position{
											Column: 18,
											Line:   34,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   34,
											},
											File:   "histogram_test.flux",
											Source: "bins: [-1.0, 0.0, 1.0, 2.0]",
											Start: ast.Position{
												Column: 18,
												Line:   34,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   34,
												},
												File:   "histogram_test.flux",
												Source: "bins",
												Start: ast.Position{
													Column: 18,
													Line:   34,
												},
											},
										},
										Name: "bins",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   34,
												},
												File:   "histogram_test.flux",
												Source: "[-1.0, 0.0, 1.0, 2.0]",
												Start: ast.Position{
													Column: 24,
													Line:   34,
												},
											},
										},
										Elements: []ast.Expression{&ast.UnaryExpression{
											Argument: &ast.FloatLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 29,
															Line:   34,
														},
														File:   "histogram_test.flux",
														Source: "1.0",
														Start: ast.Position{
															Column: 26,
															Line:   34,
														},
													},
												},
												Value: 1.0,
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 29,
														Line:   34,
													},
													File:   "histogram_test.flux",
													Source: "-1.0",
													Start: ast.Position{
														Column: 25,
														Line:   34,
													},
												},
											},
											Operator: 6,
										}, &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   34,
													},
													File:   "histogram_test.flux",
													Source: "0.0",
													Start: ast.Position{
														Column: 31,
														Line:   34,
													},
												},
											},
											Value: 0.0,
										}, &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   34,
													},
													File:   "histogram_test.flux",
													Source: "1.0",
													Start: ast.Position{
														Column: 36,
														Line:   34,
													},
												},
											},
											Value: 1.0,
										}, &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   34,
													},
													File:   "histogram_test.flux",
													Source: "2.0",
													Start: ast.Position{
														Column: 41,
														Line:   34,
													},
												},
											},
											Value: 2.0,
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   34,
									},
									File:   "histogram_test.flux",
									Source: "histogram(bins: [-1.0, 0.0, 1.0, 2.0])",
									Start: ast.Position{
										Column: 8,
										Line:   34,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   34,
										},
										File:   "histogram_test.flux",
										Source: "histogram",
										Start: ast.Position{
											Column: 8,
											Line:   34,
										},
									},
								},
								Name: "histogram",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   35,
							},
							File:   "histogram_test.flux",
							Source: "table\n    |> histogram(bins: [-1.0, 0.0, 1.0, 2.0])\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 29,
								Line:   33,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   35,
									},
									File:   "histogram_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   35,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   35,
										},
										File:   "histogram_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   35,
											},
											File:   "histogram_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   35,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   35,
											},
											File:   "histogram_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   35,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   35,
												},
												File:   "histogram_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   35,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   35,
												},
												File:   "histogram_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   35,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   35,
								},
								File:   "histogram_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   35,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   35,
									},
									File:   "histogram_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   33,
							},
							File:   "histogram_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   33,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   33,
								},
								File:   "histogram_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   33,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   33,
							},
							File:   "histogram_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   33,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 122,
							Line:   37,
						},
						File:   "histogram_test.flux",
						Source: "_histogram = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
						Start: ast.Position{
							Column: 6,
							Line:   37,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   37,
							},
							File:   "histogram_test.flux",
							Source: "_histogram",
							Start: ast.Position{
								Column: 6,
								Line:   37,
							},
						},
					},
					Name: "_histogram",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 122,
								Line:   37,
							},
							File:   "histogram_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
							Start: ast.Position{
								Column: 19,
								Line:   37,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 122,
									Line:   37,
								},
								File:   "histogram_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
								Start: ast.Position{
									Column: 25,
									Line:   37,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 121,
										Line:   37,
									},
									File:   "histogram_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram}",
									Start: ast.Position{
										Column: 26,
										Line:   37,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 66,
											Line:   37,
										},
										File:   "histogram_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 27,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   37,
											},
											File:   "histogram_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 27,
												Line:   37,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   37,
												},
												File:   "histogram_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 54,
													Line:   37,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   37,
													},
													File:   "histogram_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 54,
														Line:   37,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   37,
														},
														File:   "histogram_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 54,
															Line:   37,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   37,
														},
														File:   "histogram_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 59,
															Line:   37,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   37,
											},
											File:   "histogram_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 34,
												Line:   37,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   37,
												},
												File:   "histogram_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 34,
													Line:   37,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   37,
													},
													File:   "histogram_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 34,
														Line:   37,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   37,
													},
													File:   "histogram_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 42,
														Line:   37,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   37,
										},
										File:   "histogram_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 68,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   37,
											},
											File:   "histogram_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 68,
												Line:   37,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   37,
												},
												File:   "histogram_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 90,
													Line:   37,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   37,
													},
													File:   "histogram_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 90,
														Line:   37,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 93,
															Line:   37,
														},
														File:   "histogram_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 90,
															Line:   37,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   37,
														},
														File:   "histogram_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 95,
															Line:   37,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   37,
											},
											File:   "histogram_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 74,
												Line:   37,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   37,
												},
												File:   "histogram_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 74,
													Line:   37,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   37,
													},
													File:   "histogram_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 74,
														Line:   37,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   37,
													},
													File:   "histogram_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 82,
														Line:   37,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 120,
											Line:   37,
										},
										File:   "histogram_test.flux",
										Source: "fn: t_histogram",
										Start: ast.Position{
											Column: 105,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   37,
											},
											File:   "histogram_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 105,
												Line:   37,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   37,
											},
											File:   "histogram_test.flux",
											Source: "t_histogram",
											Start: ast.Position{
												Column: 109,
												Line:   37,
											},
										},
									},
									Name: "t_histogram",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 122,
						Line:   37,
					},
					File:   "histogram_test.flux",
					Source: "test _histogram = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_histogram})",
					Start: ast.Position{
						Column: 1,
						Line:   37,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "histogram_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "histogram_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "histogram_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "histogram_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "histogram_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 130,
					Line:   33,
				},
				File:   "holt_winters_panic_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:12:00.000000000Z,4.948\n\"\noutData = \"\n#datatype,string,long\n#group,false,false\n#default,_result,\n,result,table\n,,0\n\"\nt_hw_panic = (table=<-) => table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)\n    |> keep(columns: [\"_time\", \"_value\"])\n\ntest _holt_winters_panic = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw_panic})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   12,
					},
					File:   "holt_winters_panic_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:12:00.000000000Z,4.948\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "holt_winters_panic_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   12,
						},
						File:   "holt_winters_panic_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:12:00.000000000Z,4.948\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:12:00.000000000Z,4.948\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "holt_winters_panic_test.flux",
					Source: "outData = \"\n#datatype,string,long\n#group,false,false\n#default,_result,\n,result,table\n,,0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   13,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   13,
						},
						File:   "holt_winters_panic_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   13,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "holt_winters_panic_test.flux",
						Source: "\"\n#datatype,string,long\n#group,false,false\n#default,_result,\n,result,table\n,,0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   13,
						},
					},
				},
				Value: "\n#datatype,string,long\n#group,false,false\n#default,_result,\n,result,table\n,,0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   31,
					},
					File:   "holt_winters_panic_test.flux",
					Source: "t_hw_panic = (table=<-) => table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)\n    |> keep(columns: [\"_time\", \"_value\"])",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   20,
						},
						File:   "holt_winters_panic_test.flux",
						Source: "t_hw_panic",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "t_hw_panic",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   31,
						},
						File:   "holt_winters_panic_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)\n    |> keep(columns: [\"_time\", \"_value\"])",
						Start: ast.Position{
							Column: 14,
							Line:   20,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 33,
															Line:   20,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 28,
															Line:   20,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   21,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)",
													Start: ast.Position{
														Column: 28,
														Line:   20,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 69,
																Line:   21,
															},
															File:   "holt_winters_panic_test.flux",
															Source: "start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z",
															Start: ast.Position{
																Column: 14,
																Line:   21,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 41,
																	Line:   21,
																},
																File:   "holt_winters_panic_test.flux",
																Source: "start: 2015-08-22T22:12:00Z",
																Start: ast.Position{
																	Column: 14,
																	Line:   21,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 19,
																		Line:   21,
																	},
																	File:   "holt_winters_panic_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 14,
																		Line:   21,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 41,
																		Line:   21,
																	},
																	File:   "holt_winters_panic_test.flux",
																	Source: "2015-08-22T22:12:00Z",
																	Start: ast.Position{
																		Column: 21,
																		Line:   21,
																	},
																},
															},
															Value: parser.MustParseTime("2015-08-22T22:12:00Z"),
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 69,
																	Line:   21,
																},
																File:   "holt_winters_panic_test.flux",
																Source: "stop: 2015-08-28T03:00:00Z",
																Start: ast.Position{
																	Column: 43,
																	Line:   21,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 47,
																		Line:   21,
																	},
																	File:   "holt_winters_panic_test.flux",
																	Source: "stop",
																	Start: ast.Position{
																		Column: 43,
																		Line:   21,
																	},
																},
															},
															Name: "stop",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 69,
																		Line:   21,
																	},
																	File:   "holt_winters_panic_test.flux",
																	Source: "2015-08-28T03:00:00Z",
																	Start: ast.Position{
																		Column: 49,
																		Line:   21,
																	},
																},
															},
															Value: parser.MustParseTime("2015-08-28T03:00:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   21,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)",
														Start: ast.Position{
															Column: 8,
															Line:   21,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 13,
																Line:   21,
															},
															File:   "holt_winters_panic_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 8,
																Line:   21,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   22,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)",
												Start: ast.Position{
													Column: 28,
													Line:   20,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 40,
															Line:   22,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "every: 379m, offset: 348m",
														Start: ast.Position{
															Column: 15,
															Line:   22,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   22,
															},
															File:   "holt_winters_panic_test.flux",
															Source: "every: 379m",
															Start: ast.Position{
																Column: 15,
																Line:   22,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 20,
																	Line:   22,
																},
																File:   "holt_winters_panic_test.flux",
																Source: "every",
																Start: ast.Position{
																	Column: 15,
																	Line:   22,
																},
															},
														},
														Name: "every",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 26,
																	Line:   22,
																},
																File:   "holt_winters_panic_test.flux",
																Source: "379m",
																Start: ast.Position{
																	Column: 22,
																	Line:   22,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(379),
															Unit:      "m",
														}},
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 40,
																Line:   22,
															},
															File:   "holt_winters_panic_test.flux",
															Source: "offset: 348m",
															Start: ast.Position{
																Column: 28,
																Line:   22,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 34,
																	Line:   22,
																},
																File:   "holt_winters_panic_test.flux",
																Source: "offset",
																Start: ast.Position{
																	Column: 28,
																	Line:   22,
																},
															},
														},
														Name: "offset",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   22,
																},
																File:   "holt_winters_panic_test.flux",
																Source: "348m",
																Start: ast.Position{
																	Column: 36,
																	Line:   22,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(348),
															Unit:      "m",
														}},
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   22,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "window(every: 379m, offset: 348m)",
													Start: ast.Position{
														Column: 8,
														Line:   22,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 14,
															Line:   22,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "window",
														Start: ast.Position{
															Column: 8,
															Line:   22,
														},
													},
												},
												Name: "window",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 15,
												Line:   23,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()",
											Start: ast.Position{
												Column: 28,
												Line:   20,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   23,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "first()",
												Start: ast.Position{
													Column: 8,
													Line:   23,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   23,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "first",
													Start: ast.Position{
														Column: 8,
														Line:   23,
													},
												},
											},
											Name: "first",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: []ast.Comment{ast.Comment{Text: "// InfluxQL associates the value of the beginning of the window\n"}, ast.Comment{Text: "// to the result of the function applied to it.\n"}, ast.Comment{Text: "// So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n"}, ast.Comment{Text: "// of the starting dataset to match between InfluxQL and Flux.\n"}},
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   28,
										},
										File:   "holt_winters_panic_test.flux",
										Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")",
										Start: ast.Position{
											Column: 28,
											Line:   20,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   28,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "column: \"_start\", as: \"_time\"",
												Start: ast.Position{
													Column: 18,
													Line:   28,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   28,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "column: \"_start\"",
													Start: ast.Position{
														Column: 18,
														Line:   28,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   28,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "column",
														Start: ast.Position{
															Column: 18,
															Line:   28,
														},
													},
												},
												Name: "column",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   28,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 26,
															Line:   28,
														},
													},
												},
												Value: "_start",
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   28,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "as: \"_time\"",
													Start: ast.Position{
														Column: 36,
														Line:   28,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 38,
															Line:   28,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "as",
														Start: ast.Position{
															Column: 36,
															Line:   28,
														},
													},
												},
												Name: "as",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   28,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "\"_time\"",
														Start: ast.Position{
															Column: 40,
															Line:   28,
														},
													},
												},
												Value: "_time",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   28,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "duplicate(column: \"_start\", as: \"_time\")",
											Start: ast.Position{
												Column: 8,
												Line:   28,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   28,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "duplicate",
												Start: ast.Position{
													Column: 8,
													Line:   28,
												},
											},
										},
										Name: "duplicate",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 26,
										Line:   29,
									},
									File:   "holt_winters_panic_test.flux",
									Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)",
									Start: ast.Position{
										Column: 28,
										Line:   20,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   29,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "every: inf",
											Start: ast.Position{
												Column: 15,
												Line:   29,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 25,
													Line:   29,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "every: inf",
												Start: ast.Position{
													Column: 15,
													Line:   29,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   29,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "every",
													Start: ast.Position{
														Column: 15,
														Line:   29,
													},
												},
											},
											Name: "every",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   29,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "inf",
													Start: ast.Position{
														Column: 22,
														Line:   29,
													},
												},
											},
											Name: "inf",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 26,
											Line:   29,
										},
										File:   "holt_winters_panic_test.flux",
										Source: "window(every: inf)",
										Start: ast.Position{
											Column: 8,
											Line:   29,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   29,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "window",
											Start: ast.Position{
												Column: 8,
												Line:   29,
											},
										},
									},
									Name: "window",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 58,
									Line:   30,
								},
								File:   "holt_winters_panic_test.flux",
								Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)",
								Start: ast.Position{
									Column: 28,
									Line:   20,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 57,
											Line:   30,
										},
										File:   "holt_winters_panic_test.flux",
										Source: "n: 10, seasonality: 4, interval: 379m",
										Start: ast.Position{
											Column: 20,
											Line:   30,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   30,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "n: 10",
											Start: ast.Position{
												Column: 20,
												Line:   30,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   30,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "n",
												Start: ast.Position{
													Column: 20,
													Line:   30,
												},
											},
										},
										Name: "n",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 25,
													Line:   30,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "10",
												Start: ast.Position{
													Column: 23,
													Line:   30,
												},
											},
										},
										Value: int64(10),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   30,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "seasonality: 4",
											Start: ast.Position{
												Column: 27,
												Line:   30,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 38,
													Line:   30,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "seasonality",
												Start: ast.Position{
													Column: 27,
													Line:   30,
												},
											},
										},
										Name: "seasonality",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   30,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "4",
												Start: ast.Position{
													Column: 40,
													Line:   30,
												},
											},
										},
										Value: int64(4),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 57,
												Line:   30,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "interval: 379m",
											Start: ast.Position{
												Column: 43,
												Line:   30,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   30,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "interval",
												Start: ast.Position{
													Column: 43,
													Line:   30,
												},
											},
										},
										Name: "interval",
									},
									Separator: nil,
									Value: &ast.DurationLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   30,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "379m",
												Start: ast.Position{
													Column: 53,
													Line:   30,
												},
											},
										},
										Values: []ast.Duration{ast.Duration{
											Magnitude: int64(379),
											Unit:      "m",
										}},
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 58,
										Line:   30,
									},
									File:   "holt_winters_panic_test.flux",
									Source: "holtWinters(n: 10, seasonality: 4, interval: 379m)",
									Start: ast.Position{
										Column: 8,
										Line:   30,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 19,
											Line:   30,
										},
										File:   "holt_winters_panic_test.flux",
										Source: "holtWinters",
										Start: ast.Position{
											Column: 8,
											Line:   30,
										},
									},
								},
								Name: "holtWinters",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   31,
							},
							File:   "holt_winters_panic_test.flux",
							Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)\n    |> keep(columns: [\"_time\", \"_value\"])",
							Start: ast.Position{
								Column: 28,
								Line:   20,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   31,
									},
									File:   "holt_winters_panic_test.flux",
									Source: "columns: [\"_time\", \"_value\"]",
									Start: ast.Position{
										Column: 13,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   31,
										},
										File:   "holt_winters_panic_test.flux",
										Source: "columns: [\"_time\", \"_value\"]",
										Start: ast.Position{
											Column: 13,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   31,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   31,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   31,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "[\"_time\", \"_value\"]",
											Start: ast.Position{
												Column: 22,
												Line:   31,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 30,
													Line:   31,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "\"_time\"",
												Start: ast.Position{
													Column: 23,
													Line:   31,
												},
											},
										},
										Value: "_time",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   31,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 32,
													Line:   31,
												},
											},
										},
										Value: "_value",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   31,
								},
								File:   "holt_winters_panic_test.flux",
								Source: "keep(columns: [\"_time\", \"_value\"])",
								Start: ast.Position{
									Column: 8,
									Line:   31,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   31,
									},
									File:   "holt_winters_panic_test.flux",
									Source: "keep",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Name: "keep",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   20,
							},
							File:   "holt_winters_panic_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   20,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   20,
								},
								File:   "holt_winters_panic_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   20,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   20,
							},
							File:   "holt_winters_panic_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   20,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 130,
							Line:   33,
						},
						File:   "holt_winters_panic_test.flux",
						Source: "_holt_winters_panic = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw_panic})",
						Start: ast.Position{
							Column: 6,
							Line:   33,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   33,
							},
							File:   "holt_winters_panic_test.flux",
							Source: "_holt_winters_panic",
							Start: ast.Position{
								Column: 6,
								Line:   33,
							},
						},
					},
					Name: "_holt_winters_panic",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 130,
								Line:   33,
							},
							File:   "holt_winters_panic_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw_panic})",
							Start: ast.Position{
								Column: 28,
								Line:   33,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 130,
									Line:   33,
								},
								File:   "holt_winters_panic_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw_panic})",
								Start: ast.Position{
									Column: 34,
									Line:   33,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 129,
										Line:   33,
									},
									File:   "holt_winters_panic_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw_panic}",
									Start: ast.Position{
										Column: 35,
										Line:   33,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   33,
										},
										File:   "holt_winters_panic_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 36,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   33,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 36,
												Line:   33,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   33,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 63,
													Line:   33,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   33,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 63,
														Line:   33,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   33,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 63,
															Line:   33,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   33,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 68,
															Line:   33,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   33,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 43,
												Line:   33,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   33,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 43,
													Line:   33,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   33,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 43,
														Line:   33,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   33,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 51,
														Line:   33,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   33,
										},
										File:   "holt_winters_panic_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 77,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   33,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 77,
												Line:   33,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   33,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 99,
													Line:   33,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   33,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 99,
														Line:   33,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   33,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 99,
															Line:   33,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   33,
														},
														File:   "holt_winters_panic_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 104,
															Line:   33,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   33,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 83,
												Line:   33,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   33,
												},
												File:   "holt_winters_panic_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 83,
													Line:   33,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   33,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 83,
														Line:   33,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   33,
													},
													File:   "holt_winters_panic_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 91,
														Line:   33,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 128,
											Line:   33,
										},
										File:   "holt_winters_panic_test.flux",
										Source: "fn: t_hw_panic",
										Start: ast.Position{
											Column: 114,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   33,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   33,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 128,
												Line:   33,
											},
											File:   "holt_winters_panic_test.flux",
											Source: "t_hw_panic",
											Start: ast.Position{
												Column: 118,
												Line:   33,
											},
										},
									},
									Name: "t_hw_panic",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 130,
						Line:   33,
					},
					File:   "holt_winters_panic_test.flux",
					Source: "test _holt_winters_panic = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw_panic})",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "holt_winters_panic_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "holt_winters_panic_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "holt_winters_panic_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "holt_winters_panic_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "holt_winters_panic_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 118,
					Line:   1290,
				},
				File:   "holt_winters_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:12:00.000000000Z,4.948\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:18:00.000000000Z,4.895\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:24:00.000000000Z,4.849\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:30:00.000000000Z,4.918\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:36:00.000000000Z,4.918\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:42:00.000000000Z,4.915\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:48:00.000000000Z,4.908\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:54:00.000000000Z,4.898\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:00:00.000000000Z,4.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:06:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:12:00.000000000Z,4.859\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:18:00.000000000Z,4.843\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:24:00.000000000Z,4.82\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:30:00.000000000Z,4.8\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:36:00.000000000Z,4.774\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:42:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:48:00.000000000Z,4.767\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:54:00.000000000Z,4.708\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:00:00.000000000Z,4.669\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:06:00.000000000Z,4.626\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:12:00.000000000Z,4.619\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:18:00.000000000Z,4.557\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:24:00.000000000Z,4.498\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:30:00.000000000Z,4.462\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:36:00.000000000Z,4.406\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:42:00.000000000Z,4.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:48:00.000000000Z,4.373\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:54:00.000000000Z,4.298\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:00:00.000000000Z,4.167\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:06:00.000000000Z,4.137\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:12:00.000000000Z,4.108\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:18:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:24:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:30:00.000000000Z,3.94\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:36:00.000000000Z,3.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:42:00.000000000Z,3.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:48:00.000000000Z,3.773\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:54:00.000000000Z,3.852\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:00:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:06:00.000000000Z,3.609\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:12:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:18:00.000000000Z,3.399\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:24:00.000000000Z,3.425\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:30:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:36:00.000000000Z,3.268\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:42:00.000000000Z,3.212\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:48:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:54:00.000000000Z,3.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:00:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:06:00.000000000Z,3.018\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:12:00.000000000Z,2.897\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:18:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:24:00.000000000Z,2.808\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:30:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:36:00.000000000Z,2.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:42:00.000000000Z,2.618\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:48:00.000000000Z,2.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:54:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:00:00.000000000Z,2.418\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:06:00.000000000Z,2.385\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:12:00.000000000Z,2.323\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:18:00.000000000Z,2.343\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:24:00.000000000Z,2.3\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:30:00.000000000Z,2.257\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:36:00.000000000Z,2.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:42:00.000000000Z,2.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:48:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:54:00.000000000Z,2.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:00:00.000000000Z,2.103\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:06:00.000000000Z,2.123\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:12:00.000000000Z,2.024\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:18:00.000000000Z,1.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:24:00.000000000Z,1.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:30:00.000000000Z,1.942\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:36:00.000000000Z,1.87\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:42:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:48:00.000000000Z,1.873\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:54:00.000000000Z,1.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:00:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:06:00.000000000Z,1.883\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:12:00.000000000Z,1.834\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:18:00.000000000Z,1.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:24:00.000000000Z,1.765\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:30:00.000000000Z,1.759\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:36:00.000000000Z,1.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:42:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:48:00.000000000Z,1.804\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:54:00.000000000Z,1.834\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:00:00.000000000Z,1.87\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:06:00.000000000Z,1.788\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:12:00.000000000Z,1.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:18:00.000000000Z,1.952\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:24:00.000000000Z,1.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:30:00.000000000Z,1.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:36:00.000000000Z,1.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:42:00.000000000Z,2.001\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:48:00.000000000Z,2.021\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:54:00.000000000Z,2.008\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:00:00.000000000Z,2.067\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:06:00.000000000Z,2.1\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:12:00.000000000Z,2.09\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:18:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:24:00.000000000Z,2.264\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:30:00.000000000Z,2.231\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:36:00.000000000Z,2.211\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:42:00.000000000Z,2.356\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:48:00.000000000Z,2.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:54:00.000000000Z,2.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:00:00.000000000Z,2.411\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:06:00.000000000Z,2.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:12:00.000000000Z,2.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:18:00.000000000Z,2.562\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:24:00.000000000Z,2.585\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:30:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:36:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:42:00.000000000Z,2.654\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:48:00.000000000Z,2.667\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:54:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:00:00.000000000Z,2.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:06:00.000000000Z,2.917\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:12:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:18:00.000000000Z,2.785\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:24:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:30:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:36:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:42:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:48:00.000000000Z,3.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:54:00.000000000Z,3.035\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:00:00.000000000Z,3.084\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:06:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:12:00.000000000Z,3.166\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:18:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:24:00.000000000Z,3.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:30:00.000000000Z,3.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:36:00.000000000Z,3.287\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:42:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:48:00.000000000Z,3.225\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:54:00.000000000Z,3.343\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:00:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:06:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:12:00.000000000Z,3.33\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:18:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:24:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:30:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:36:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:42:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:48:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:54:00.000000000Z,3.291\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:00:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:06:00.000000000Z,3.35\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:12:00.000000000Z,3.261\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:18:00.000000000Z,3.281\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:24:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:30:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:36:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:42:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:48:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:54:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:00:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:06:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:12:00.000000000Z,3.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:18:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:24:00.000000000Z,3.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:30:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:36:00.000000000Z,3.196\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:42:00.000000000Z,3.176\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:48:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:54:00.000000000Z,3.146\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:00:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:06:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:12:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:18:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:24:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:30:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:36:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:42:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:48:00.000000000Z,2.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:54:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:00:00.000000000Z,2.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:06:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:12:00.000000000Z,2.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:18:00.000000000Z,2.848\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:24:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:30:00.000000000Z,2.907\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:36:00.000000000Z,2.927\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:42:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:48:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:54:00.000000000Z,2.966\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:00:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:06:00.000000000Z,2.897\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:12:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:18:00.000000000Z,2.953\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:24:00.000000000Z,2.9\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:30:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:36:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:42:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:48:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:54:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:00:00.000000000Z,3.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:06:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:12:00.000000000Z,3.107\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:18:00.000000000Z,3.14\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:24:00.000000000Z,3.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:30:00.000000000Z,3.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:36:00.000000000Z,3.173\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:42:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:48:00.000000000Z,3.241\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:54:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:00:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:06:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:12:00.000000000Z,3.36\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:18:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:24:00.000000000Z,3.471\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:30:00.000000000Z,3.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:36:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:42:00.000000000Z,3.53\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:48:00.000000000Z,3.602\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:54:00.000000000Z,3.625\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:00:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:06:00.000000000Z,3.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:12:00.000000000Z,3.743\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:18:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:24:00.000000000Z,3.947\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:30:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:36:00.000000000Z,3.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:42:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:48:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:54:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:00:00.000000000Z,4.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:06:00.000000000Z,4.252\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:12:00.000000000Z,4.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:18:00.000000000Z,4.344\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:24:00.000000000Z,4.449\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:30:00.000000000Z,4.541\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:36:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:42:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:48:00.000000000Z,4.613\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:54:00.000000000Z,4.613\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:00:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:06:00.000000000Z,4.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:12:00.000000000Z,4.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:18:00.000000000Z,4.82\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:24:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:30:00.000000000Z,4.859\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:36:00.000000000Z,4.987\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:42:00.000000000Z,4.984\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:48:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:54:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:00:00.000000000Z,5.016\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:06:00.000000000Z,4.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:12:00.000000000Z,5.036\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:18:00.000000000Z,5.052\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:24:00.000000000Z,5.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:30:00.000000000Z,5.121\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:36:00.000000000Z,5.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:42:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:48:00.000000000Z,5.056\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:54:00.000000000Z,4.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:00:00.000000000Z,5.01\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:06:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:12:00.000000000Z,5.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:18:00.000000000Z,5.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:24:00.000000000Z,4.98\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:30:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:36:00.000000000Z,4.977\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:42:00.000000000Z,4.954\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:48:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:54:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:00:00.000000000Z,4.869\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:06:00.000000000Z,4.829\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:12:00.000000000Z,4.846\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:18:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:24:00.000000000Z,4.708\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:30:00.000000000Z,4.652\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:36:00.000000000Z,4.534\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:42:00.000000000Z,4.452\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:48:00.000000000Z,4.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:54:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:00:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:06:00.000000000Z,4.314\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:12:00.000000000Z,4.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:18:00.000000000Z,4.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:24:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:30:00.000000000Z,3.97\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:36:00.000000000Z,3.947\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:42:00.000000000Z,3.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:48:00.000000000Z,3.796\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:54:00.000000000Z,3.684\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:00:00.000000000Z,3.606\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:06:00.000000000Z,3.596\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:12:00.000000000Z,3.55\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:18:00.000000000Z,3.422\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:24:00.000000000Z,3.268\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:30:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:36:00.000000000Z,3.189\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:42:00.000000000Z,3.146\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:48:00.000000000Z,3.123\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:54:00.000000000Z,3.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:00:00.000000000Z,2.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:06:00.000000000Z,2.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:12:00.000000000Z,2.71\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:18:00.000000000Z,2.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:24:00.000000000Z,2.562\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:30:00.000000000Z,2.549\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:36:00.000000000Z,2.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:42:00.000000000Z,2.352\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:48:00.000000000Z,2.264\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:54:00.000000000Z,2.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:00:00.000000000Z,2.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:06:00.000000000Z,1.965\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:12:00.000000000Z,2.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:18:00.000000000Z,1.959\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:24:00.000000000Z,1.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:30:00.000000000Z,1.864\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:36:00.000000000Z,1.739\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:42:00.000000000Z,1.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:48:00.000000000Z,1.722\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:54:00.000000000Z,1.621\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:00:00.000000000Z,1.594\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:06:00.000000000Z,1.545\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:12:00.000000000Z,1.526\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:18:00.000000000Z,1.457\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:24:00.000000000Z,1.414\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:30:00.000000000Z,1.355\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:36:00.000000000Z,1.355\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:42:00.000000000Z,1.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:48:00.000000000Z,1.224\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:54:00.000000000Z,1.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:00:00.000000000Z,1.257\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:06:00.000000000Z,1.188\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:12:00.000000000Z,1.296\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:18:00.000000000Z,1.181\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:24:00.000000000Z,1.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:30:00.000000000Z,1.201\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:36:00.000000000Z,1.175\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:42:00.000000000Z,1.201\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:48:00.000000000Z,1.263\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:54:00.000000000Z,1.227\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:00:00.000000000Z,1.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:06:00.000000000Z,1.253\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:12:00.000000000Z,1.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:18:00.000000000Z,1.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:24:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:30:00.000000000Z,1.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:36:00.000000000Z,1.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:42:00.000000000Z,1.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:48:00.000000000Z,1.506\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:54:00.000000000Z,1.572\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:00:00.000000000Z,1.549\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:06:00.000000000Z,1.594\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:12:00.000000000Z,1.722\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:18:00.000000000Z,1.739\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:24:00.000000000Z,1.749\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:30:00.000000000Z,1.804\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:36:00.000000000Z,1.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:42:00.000000000Z,1.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:48:00.000000000Z,2.014\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:54:00.000000000Z,2.07\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:00:00.000000000Z,2.139\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:06:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:12:00.000000000Z,2.162\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:18:00.000000000Z,2.224\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:24:00.000000000Z,2.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:30:00.000000000Z,2.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:36:00.000000000Z,2.392\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:42:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:48:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:54:00.000000000Z,2.605\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:00:00.000000000Z,2.671\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:06:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:12:00.000000000Z,2.805\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:18:00.000000000Z,2.776\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:24:00.000000000Z,2.825\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:30:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:36:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:42:00.000000000Z,3.1\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:48:00.000000000Z,3.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:54:00.000000000Z,3.133\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:00:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:06:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:12:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:18:00.000000000Z,3.34\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:24:00.000000000Z,3.333\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:30:00.000000000Z,3.35\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:36:00.000000000Z,3.412\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:42:00.000000000Z,3.432\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:48:00.000000000Z,3.383\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:54:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:00:00.000000000Z,3.442\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:06:00.000000000Z,3.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:12:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:18:00.000000000Z,3.56\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:24:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:30:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:36:00.000000000Z,3.451\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:42:00.000000000Z,3.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:48:00.000000000Z,3.504\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:54:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:00:00.000000000Z,3.547\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:06:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:12:00.000000000Z,3.573\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:18:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:24:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:30:00.000000000Z,3.599\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:36:00.000000000Z,3.527\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:42:00.000000000Z,3.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:48:00.000000000Z,3.579\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:54:00.000000000Z,3.533\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:00:00.000000000Z,3.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:06:00.000000000Z,3.517\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:12:00.000000000Z,3.481\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:18:00.000000000Z,3.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:24:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:30:00.000000000Z,3.389\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:36:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:42:00.000000000Z,3.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:48:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:54:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:00:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:06:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:12:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:18:00.000000000Z,3.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:24:00.000000000Z,3.173\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:30:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:36:00.000000000Z,3.156\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:42:00.000000000Z,3.114\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:48:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:54:00.000000000Z,3.038\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:00:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:06:00.000000000Z,3.015\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:12:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:18:00.000000000Z,2.966\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:24:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:30:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:36:00.000000000Z,2.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:42:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:48:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:54:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:00:00.000000000Z,2.913\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:06:00.000000000Z,2.884\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:12:00.000000000Z,2.953\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:18:00.000000000Z,2.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:24:00.000000000Z,2.999\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:30:00.000000000Z,2.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:36:00.000000000Z,2.828\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:42:00.000000000Z,2.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:48:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:54:00.000000000Z,3.018\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:00:00.000000000Z,2.976\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:06:00.000000000Z,2.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:12:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:18:00.000000000Z,2.881\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:24:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:30:00.000000000Z,3.117\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:36:00.000000000Z,3.12\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:42:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:48:00.000000000Z,3.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:54:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:00:00.000000000Z,3.251\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:06:00.000000000Z,3.287\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:12:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:18:00.000000000Z,3.337\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:24:00.000000000Z,3.376\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:30:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:36:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:42:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:48:00.000000000Z,3.586\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:54:00.000000000Z,3.638\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:00:00.000000000Z,3.72\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:06:00.000000000Z,3.74\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:12:00.000000000Z,3.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:18:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:24:00.000000000Z,3.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:30:00.000000000Z,4.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:36:00.000000000Z,4.062\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:42:00.000000000Z,4.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:48:00.000000000Z,4.203\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:54:00.000000000Z,4.259\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:00:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:06:00.000000000Z,4.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:12:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:18:00.000000000Z,4.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:24:00.000000000Z,4.554\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:30:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:36:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:42:00.000000000Z,4.849\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:48:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:54:00.000000000Z,4.905\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:00:00.000000000Z,4.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:06:00.000000000Z,5.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:12:00.000000000Z,5.062\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:18:00.000000000Z,5.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:24:00.000000000Z,5.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:30:00.000000000Z,5.18\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:36:00.000000000Z,5.2\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:42:00.000000000Z,5.295\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:48:00.000000000Z,5.315\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:54:00.000000000Z,5.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:00:00.000000000Z,5.285\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:06:00.000000000Z,5.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:12:00.000000000Z,5.344\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:18:00.000000000Z,5.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:24:00.000000000Z,5.42\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:30:00.000000000Z,5.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:36:00.000000000Z,5.358\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:42:00.000000000Z,5.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:48:00.000000000Z,5.449\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:54:00.000000000Z,5.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:00:00.000000000Z,5.463\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:06:00.000000000Z,5.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:12:00.000000000Z,5.479\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:18:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:24:00.000000000Z,5.325\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:30:00.000000000Z,5.387\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:36:00.000000000Z,5.299\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:42:00.000000000Z,5.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:48:00.000000000Z,5.236\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:54:00.000000000Z,5.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:00:00.000000000Z,5.171\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:06:00.000000000Z,5.098\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:12:00.000000000Z,5.059\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:18:00.000000000Z,4.964\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:24:00.000000000Z,4.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:30:00.000000000Z,4.872\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:36:00.000000000Z,4.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:42:00.000000000Z,4.777\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:48:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:54:00.000000000Z,4.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:00:00.000000000Z,4.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:06:00.000000000Z,4.432\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:12:00.000000000Z,4.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:18:00.000000000Z,4.275\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:24:00.000000000Z,4.265\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:30:00.000000000Z,4.111\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:36:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:42:00.000000000Z,3.924\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:48:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:54:00.000000000Z,3.763\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:00:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:06:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:12:00.000000000Z,3.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:18:00.000000000Z,3.333\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:24:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:30:00.000000000Z,3.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:36:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:42:00.000000000Z,2.9\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:48:00.000000000Z,2.795\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:54:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:00:00.000000000Z,2.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:06:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:12:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:18:00.000000000Z,2.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:24:00.000000000Z,2.178\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:30:00.000000000Z,2.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:36:00.000000000Z,1.978\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:42:00.000000000Z,1.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:48:00.000000000Z,1.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:54:00.000000000Z,1.752\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:00:00.000000000Z,1.66\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:06:00.000000000Z,1.572\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:12:00.000000000Z,1.424\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:18:00.000000000Z,1.437\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:24:00.000000000Z,1.375\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:30:00.000000000Z,1.289\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:36:00.000000000Z,1.161\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:42:00.000000000Z,1.138\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:48:00.000000000Z,1.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:54:00.000000000Z,1.043\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:00:00.000000000Z,0.984\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:06:00.000000000Z,0.896\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:12:00.000000000Z,0.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:18:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:24:00.000000000Z,0.81\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:30:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:36:00.000000000Z,0.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:42:00.000000000Z,0.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:48:00.000000000Z,0.676\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:54:00.000000000Z,0.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:00:00.000000000Z,0.781\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:06:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:12:00.000000000Z,0.771\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:18:00.000000000Z,0.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:24:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:30:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:36:00.000000000Z,0.837\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:42:00.000000000Z,0.784\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:48:00.000000000Z,0.755\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:54:00.000000000Z,0.794\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:00:00.000000000Z,0.899\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:06:00.000000000Z,0.997\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:12:00.000000000Z,1.02\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:18:00.000000000Z,1.037\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:24:00.000000000Z,1.093\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:30:00.000000000Z,1.132\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:36:00.000000000Z,1.188\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:42:00.000000000Z,1.234\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:48:00.000000000Z,1.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:54:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:00:00.000000000Z,1.345\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:06:00.000000000Z,1.483\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:12:00.000000000Z,1.539\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:18:00.000000000Z,1.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:24:00.000000000Z,1.631\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:30:00.000000000Z,1.729\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:36:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:42:00.000000000Z,1.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:48:00.000000000Z,1.942\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:54:00.000000000Z,2.083\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:00:00.000000000Z,2.205\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:06:00.000000000Z,2.162\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:12:00.000000000Z,2.267\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:18:00.000000000Z,2.356\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:24:00.000000000Z,2.448\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:30:00.000000000Z,2.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:36:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:42:00.000000000Z,2.7\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:48:00.000000000Z,2.756\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:54:00.000000000Z,2.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:00:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:06:00.000000000Z,2.933\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:12:00.000000000Z,2.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:18:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:24:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:30:00.000000000Z,3.32\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:36:00.000000000Z,3.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:42:00.000000000Z,3.33\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:48:00.000000000Z,3.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:54:00.000000000Z,3.504\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:00:00.000000000Z,3.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:06:00.000000000Z,3.668\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:12:00.000000000Z,3.763\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:18:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:24:00.000000000Z,3.655\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:30:00.000000000Z,3.78\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:36:00.000000000Z,3.881\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:42:00.000000000Z,3.862\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:48:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:54:00.000000000Z,3.793\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:00:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:06:00.000000000Z,3.907\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:12:00.000000000Z,3.996\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:18:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:24:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:30:00.000000000Z,3.937\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:36:00.000000000Z,4.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:42:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:48:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:54:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:00:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:06:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:12:00.000000000Z,4.065\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:18:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:24:00.000000000Z,3.973\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:30:00.000000000Z,3.868\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:36:00.000000000Z,3.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:42:00.000000000Z,3.894\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:48:00.000000000Z,3.891\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:54:00.000000000Z,3.835\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:00:00.000000000Z,3.711\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:06:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:12:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:18:00.000000000Z,3.671\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:24:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:30:00.000000000Z,3.622\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:36:00.000000000Z,3.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:42:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:48:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:54:00.000000000Z,3.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:00:00.000000000Z,3.412\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:06:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:12:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:18:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:24:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:30:00.000000000Z,3.225\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:36:00.000000000Z,3.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:42:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:48:00.000000000Z,3.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:54:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:00:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:06:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:12:00.000000000Z,2.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:18:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:24:00.000000000Z,2.851\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:30:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:36:00.000000000Z,2.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:42:00.000000000Z,2.776\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:48:00.000000000Z,2.68\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:54:00.000000000Z,2.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:00:00.000000000Z,2.651\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:06:00.000000000Z,2.746\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:12:00.000000000Z,2.789\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:18:00.000000000Z,2.762\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:24:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:30:00.000000000Z,2.687\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:36:00.000000000Z,2.69\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:42:00.000000000Z,2.71\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:48:00.000000000Z,2.785\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:54:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:00:00.000000000Z,2.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:06:00.000000000Z,2.805\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:12:00.000000000Z,2.815\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:18:00.000000000Z,2.861\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:24:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:30:00.000000000Z,2.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:36:00.000000000Z,2.904\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:42:00.000000000Z,2.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:48:00.000000000Z,3.058\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:54:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:00:00.000000000Z,3.084\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:06:00.000000000Z,3.13\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:12:00.000000000Z,3.222\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:18:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:24:00.000000000Z,3.291\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:30:00.000000000Z,3.438\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:36:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:42:00.000000000Z,3.586\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:48:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:54:00.000000000Z,3.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:00:00.000000000Z,3.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:06:00.000000000Z,3.901\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:12:00.000000000Z,3.973\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:18:00.000000000Z,3.934\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:24:00.000000000Z,4.042\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:30:00.000000000Z,4.275\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:36:00.000000000Z,4.396\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:42:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:48:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:54:00.000000000Z,4.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:00:00.000000000Z,4.564\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:06:00.000000000Z,4.741\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:12:00.000000000Z,4.829\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:18:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:24:00.000000000Z,4.885\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:30:00.000000000Z,4.931\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:36:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:42:00.000000000Z,5.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:48:00.000000000Z,5.22\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:54:00.000000000Z,5.249\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:00:00.000000000Z,5.331\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:06:00.000000000Z,5.371\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:12:00.000000000Z,5.479\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:18:00.000000000Z,5.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:24:00.000000000Z,5.61\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:30:00.000000000Z,5.617\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:36:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:42:00.000000000Z,5.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:48:00.000000000Z,5.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:54:00.000000000Z,5.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:00:00.000000000Z,5.823\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:06:00.000000000Z,5.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:12:00.000000000Z,5.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:18:00.000000000Z,5.925\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:24:00.000000000Z,5.997\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:30:00.000000000Z,6.027\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:36:00.000000000Z,5.978\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:42:00.000000000Z,5.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:48:00.000000000Z,5.955\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:54:00.000000000Z,5.915\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:00:00.000000000Z,5.961\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:06:00.000000000Z,5.958\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:12:00.000000000Z,5.906\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:18:00.000000000Z,5.886\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:24:00.000000000Z,5.866\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:30:00.000000000Z,5.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:36:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:42:00.000000000Z,5.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:48:00.000000000Z,5.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:54:00.000000000Z,5.525\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:00:00.000000000Z,5.489\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:06:00.000000000Z,5.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:12:00.000000000Z,5.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:18:00.000000000Z,5.246\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:24:00.000000000Z,5.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:30:00.000000000Z,5.105\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:36:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:42:00.000000000Z,4.908\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:48:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:54:00.000000000Z,4.751\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:00:00.000000000Z,4.656\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:06:00.000000000Z,4.547\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:12:00.000000000Z,4.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:18:00.000000000Z,4.304\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:24:00.000000000Z,4.219\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:30:00.000000000Z,4.124\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:36:00.000000000Z,4.016\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:42:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:48:00.000000000Z,3.737\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:54:00.000000000Z,3.596\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:00:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:06:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:12:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:18:00.000000000Z,3.091\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:24:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:30:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:36:00.000000000Z,2.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:42:00.000000000Z,2.579\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:48:00.000000000Z,2.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:54:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:00:00.000000000Z,2.283\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:06:00.000000000Z,2.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:12:00.000000000Z,1.962\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:18:00.000000000Z,1.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:24:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:30:00.000000000Z,1.663\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:36:00.000000000Z,1.558\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:42:00.000000000Z,1.532\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:48:00.000000000Z,1.496\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:54:00.000000000Z,1.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:00:00.000000000Z,1.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:06:00.000000000Z,1.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:12:00.000000000Z,1.073\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:18:00.000000000Z,1.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:24:00.000000000Z,0.935\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:30:00.000000000Z,0.948\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:36:00.000000000Z,0.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:42:00.000000000Z,0.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:48:00.000000000Z,0.604\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:54:00.000000000Z,0.614\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:00:00.000000000Z,0.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:06:00.000000000Z,0.531\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:12:00.000000000Z,0.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:18:00.000000000Z,0.518\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:24:00.000000000Z,0.404\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:30:00.000000000Z,0.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:36:00.000000000Z,0.397\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:42:00.000000000Z,0.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:48:00.000000000Z,0.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:54:00.000000000Z,0.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:00:00.000000000Z,0.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:06:00.000000000Z,0.443\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:12:00.000000000Z,0.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:18:00.000000000Z,0.371\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:24:00.000000000Z,0.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:30:00.000000000Z,0.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:36:00.000000000Z,0.518\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:42:00.000000000Z,0.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:48:00.000000000Z,0.663\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:54:00.000000000Z,0.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:00:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:06:00.000000000Z,0.866\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:12:00.000000000Z,0.863\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:18:00.000000000Z,0.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:24:00.000000000Z,0.951\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:30:00.000000000Z,1.079\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:36:00.000000000Z,1.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:42:00.000000000Z,1.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:48:00.000000000Z,1.309\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:54:00.000000000Z,1.411\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:00:00.000000000Z,1.522\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:06:00.000000000Z,1.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:12:00.000000000Z,1.677\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:18:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:24:00.000000000Z,1.896\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:30:00.000000000Z,2.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:36:00.000000000Z,2.103\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:42:00.000000000Z,2.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:48:00.000000000Z,2.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:54:00.000000000Z,2.388\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:00:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:06:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:12:00.000000000Z,2.661\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:18:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:24:00.000000000Z,2.812\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:30:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:36:00.000000000Z,3.048\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:42:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:48:00.000000000Z,3.235\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:54:00.000000000Z,3.31\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:00:00.000000000Z,3.32\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:06:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:12:00.000000000Z,3.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:18:00.000000000Z,3.655\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:24:00.000000000Z,3.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:30:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:36:00.000000000Z,3.852\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:42:00.000000000Z,3.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:48:00.000000000Z,3.917\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:54:00.000000000Z,4.039\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:00:00.000000000Z,4.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:06:00.000000000Z,4.134\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:12:00.000000000Z,4.144\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:18:00.000000000Z,4.183\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:24:00.000000000Z,4.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:30:00.000000000Z,4.295\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:36:00.000000000Z,4.304\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:42:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:48:00.000000000Z,4.318\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:54:00.000000000Z,4.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:00:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:06:00.000000000Z,4.354\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:12:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:18:00.000000000Z,4.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:24:00.000000000Z,4.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:30:00.000000000Z,4.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:36:00.000000000Z,4.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:42:00.000000000Z,4.377\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:48:00.000000000Z,4.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:54:00.000000000Z,4.347\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:00:00.000000000Z,4.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:06:00.000000000Z,4.321\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:12:00.000000000Z,4.298\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:18:00.000000000Z,4.219\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:24:00.000000000Z,4.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:30:00.000000000Z,4.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:36:00.000000000Z,4.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:42:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:48:00.000000000Z,3.944\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:54:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:00:00.000000000Z,3.832\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:06:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:12:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:18:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:24:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:30:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:36:00.000000000Z,3.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:42:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:48:00.000000000Z,3.366\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:54:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:00:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:06:00.000000000Z,3.241\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:12:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:18:00.000000000Z,3.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:24:00.000000000Z,3.058\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:30:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:36:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:42:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:48:00.000000000Z,2.894\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:54:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:00:00.000000000Z,2.736\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:06:00.000000000Z,2.72\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:12:00.000000000Z,2.651\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:18:00.000000000Z,2.661\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:24:00.000000000Z,2.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:30:00.000000000Z,2.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:36:00.000000000Z,2.615\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:42:00.000000000Z,2.585\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:48:00.000000000Z,2.598\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:54:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:00:00.000000000Z,2.451\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:06:00.000000000Z,2.448\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:12:00.000000000Z,2.48\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:18:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:24:00.000000000Z,2.513\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:30:00.000000000Z,2.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:36:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:42:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:48:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:54:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:00:00.000000000Z,2.618\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:06:00.000000000Z,2.697\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:12:00.000000000Z,2.766\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:18:00.000000000Z,2.831\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:24:00.000000000Z,2.766\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:30:00.000000000Z,2.795\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:36:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:42:00.000000000Z,3.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:48:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:54:00.000000000Z,3.176\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:00:00.000000000Z,3.159\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:06:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:12:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:18:00.000000000Z,3.442\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:24:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:30:00.000000000Z,3.566\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:36:00.000000000Z,3.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:42:00.000000000Z,3.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:48:00.000000000Z,3.914\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:54:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:00:00.000000000Z,3.999\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:06:00.000000000Z,4.035\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:12:00.000000000Z,4.065\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:18:00.000000000Z,4.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:24:00.000000000Z,4.419\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:30:00.000000000Z,4.531\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:36:00.000000000Z,4.623\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:42:00.000000000Z,4.633\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:48:00.000000000Z,4.731\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:54:00.000000000Z,4.928\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:00:00.000000000Z,4.951\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:06:00.000000000Z,5.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:12:00.000000000Z,5.167\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:18:00.000000000Z,5.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:24:00.000000000Z,5.433\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:30:00.000000000Z,5.548\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:36:00.000000000Z,5.659\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:42:00.000000000Z,5.564\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:48:00.000000000Z,5.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:54:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:00:00.000000000Z,5.873\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:06:00.000000000Z,6.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:12:00.000000000Z,6.053\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:18:00.000000000Z,6.119\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:24:00.000000000Z,6.043\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:30:00.000000000Z,6.076\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:36:00.000000000Z,6.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:42:00.000000000Z,6.171\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:48:00.000000000Z,6.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:54:00.000000000Z,6.312\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:00:00.000000000Z,6.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:06:00.000000000Z,6.348\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:12:00.000000000Z,6.385\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:18:00.000000000Z,6.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:24:00.000000000Z,6.352\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:30:00.000000000Z,6.404\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:36:00.000000000Z,6.358\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:42:00.000000000Z,6.335\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:48:00.000000000Z,6.365\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:54:00.000000000Z,6.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:00:00.000000000Z,6.28\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:06:00.000000000Z,6.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:12:00.000000000Z,6.168\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:18:00.000000000Z,6.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:24:00.000000000Z,6.122\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:30:00.000000000Z,6.096\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:36:00.000000000Z,5.994\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:42:00.000000000Z,5.853\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:48:00.000000000Z,5.778\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:54:00.000000000Z,5.751\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:00:00.000000000Z,5.689\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:06:00.000000000Z,5.604\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:12:00.000000000Z,5.545\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:18:00.000000000Z,5.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:24:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:30:00.000000000Z,5.24\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:36:00.000000000Z,5.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:42:00.000000000Z,4.98\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:48:00.000000000Z,4.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:54:00.000000000Z,4.685\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:00:00.000000000Z,4.593\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:06:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:12:00.000000000Z,4.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:18:00.000000000Z,4.104\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:24:00.000000000Z,3.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:30:00.000000000Z,3.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:36:00.000000000Z,3.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:42:00.000000000Z,3.54\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:48:00.000000000Z,3.376\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:54:00.000000000Z,3.212\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:00:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:06:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:12:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:18:00.000000000Z,2.703\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:24:00.000000000Z,2.523\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:30:00.000000000Z,2.336\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:36:00.000000000Z,2.208\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:42:00.000000000Z,2.113\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:48:00.000000000Z,2.044\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:54:00.000000000Z,1.88\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:00:00.000000000Z,1.732\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:06:00.000000000Z,1.578\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:12:00.000000000Z,1.46\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:18:00.000000000Z,1.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:24:00.000000000Z,1.27\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:30:00.000000000Z,1.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:36:00.000000000Z,1.01\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:42:00.000000000Z,0.902\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:48:00.000000000Z,0.768\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:54:00.000000000Z,0.702\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:00:00.000000000Z,0.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:06:00.000000000Z,0.509\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:12:00.000000000Z,0.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:18:00.000000000Z,0.351\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:24:00.000000000Z,0.331\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:30:00.000000000Z,0.318\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:36:00.000000000Z,0.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:42:00.000000000Z,0.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:48:00.000000000Z,0.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:54:00.000000000Z,0.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:00:00.000000000Z,0.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:06:00.000000000Z,0.082\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:12:00.000000000Z,-0.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:18:00.000000000Z,0.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:24:00.000000000Z,0.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:30:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:36:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:42:00.000000000Z,0.098\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:48:00.000000000Z,0.079\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:54:00.000000000Z,0.082\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:00:00.000000000Z,0.089\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:06:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:12:00.000000000Z,0.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:18:00.000000000Z,0.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:24:00.000000000Z,0.207\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:30:00.000000000Z,0.338\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:36:00.000000000Z,0.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:42:00.000000000Z,0.43\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:48:00.000000000Z,0.456\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:54:00.000000000Z,0.489\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:00:00.000000000Z,0.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:06:00.000000000Z,0.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:12:00.000000000Z,0.912\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:18:00.000000000Z,0.955\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:24:00.000000000Z,1.05\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:30:00.000000000Z,1.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:36:00.000000000Z,1.25\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:42:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:48:00.000000000Z,1.457\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:54:00.000000000Z,1.66\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:00:00.000000000Z,1.755\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:06:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:12:00.000000000Z,2.001\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:18:00.000000000Z,2.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:24:00.000000000Z,2.244\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:30:00.000000000Z,2.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:36:00.000000000Z,2.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:42:00.000000000Z,2.552\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:48:00.000000000Z,2.687\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:54:00.000000000Z,2.802\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:00:00.000000000Z,2.959\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:06:00.000000000Z,3.117\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:12:00.000000000Z,3.228\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:18:00.000000000Z,3.294\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:24:00.000000000Z,3.373\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:30:00.000000000Z,3.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:36:00.000000000Z,3.537\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:42:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:48:00.000000000Z,3.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:54:00.000000000Z,3.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:00:00.000000000Z,4.006\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:06:00.000000000Z,4.085\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:12:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:18:00.000000000Z,4.239\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:24:00.000000000Z,4.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:30:00.000000000Z,4.4\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:36:00.000000000Z,4.537\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:42:00.000000000Z,4.629\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:48:00.000000000Z,4.619\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:54:00.000000000Z,4.626\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:00:00.000000000Z,4.633\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:06:00.000000000Z,4.731\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:12:00.000000000Z,4.764\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:18:00.000000000Z,4.77\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:24:00.000000000Z,4.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:30:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:36:00.000000000Z,4.836\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:42:00.000000000Z,4.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:48:00.000000000Z,4.895\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:54:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:00:00.000000000Z,4.78\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:06:00.000000000Z,4.793\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:12:00.000000000Z,4.77\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:18:00.000000000Z,4.803\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:24:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:30:00.000000000Z,4.738\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:36:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:42:00.000000000Z,4.58\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:48:00.000000000Z,4.567\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:54:00.000000000Z,4.505\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:00:00.000000000Z,4.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:06:00.000000000Z,4.38\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:12:00.000000000Z,4.324\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:18:00.000000000Z,4.321\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:24:00.000000000Z,4.14\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:30:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:36:00.000000000Z,4.055\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:42:00.000000000Z,3.96\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:48:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:54:00.000000000Z,3.832\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:00:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:06:00.000000000Z,3.668\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:12:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:18:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:24:00.000000000Z,3.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:30:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:36:00.000000000Z,3.34\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:42:00.000000000Z,3.271\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:48:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:54:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:00:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:06:00.000000000Z,2.933\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:12:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:18:00.000000000Z,2.769\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:24:00.000000000Z,2.68\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:30:00.000000000Z,2.631\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:36:00.000000000Z,2.566\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:42:00.000000000Z,2.53\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:48:00.000000000Z,2.536\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:54:00.000000000Z,2.5\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:00:00.000000000Z,2.392\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:06:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:12:00.000000000Z,2.28\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:18:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:24:00.000000000Z,2.251\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:30:00.000000000Z,2.172\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:36:00.000000000Z,2.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:42:00.000000000Z,2.221\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:48:00.000000000Z,2.195\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:54:00.000000000Z,2.165\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:00:00.000000000Z,2.096\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:06:00.000000000Z,2.139\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:12:00.000000000Z,2.211\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:18:00.000000000Z,2.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:24:00.000000000Z,2.306\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:30:00.000000000Z,2.31\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:36:00.000000000Z,2.29\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:42:00.000000000Z,2.3\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:48:00.000000000Z,2.375\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:54:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:00:00.000000000Z,2.52\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:06:00.000000000Z,2.48\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:12:00.000000000Z,2.513\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:18:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:24:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:30:00.000000000Z,2.808\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:36:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:42:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:48:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:54:00.000000000Z,3.12\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:00:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:06:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:12:00.000000000Z,3.406\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:18:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:24:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:30:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:36:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:42:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:48:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:54:00.000000000Z,4.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:00:00.000000000Z,4.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:06:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:12:00.000000000Z,4.475\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:18:00.000000000Z,4.646\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:24:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:30:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:36:00.000000000Z,5.026\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:42:00.000000000Z,5.18\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:48:00.000000000Z,5.246\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:54:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:00:00.000000000Z,5.427\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:06:00.000000000Z,5.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:12:00.000000000Z,5.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:18:00.000000000Z,5.817\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:24:00.000000000Z,5.879\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:30:00.000000000Z,5.991\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:36:00.000000000Z,6.024\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:42:00.000000000Z,6.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:48:00.000000000Z,6.296\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:54:00.000000000Z,6.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:00:00.000000000Z,6.437\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:06:00.000000000Z,6.499\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:12:00.000000000Z,6.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:18:00.000000000Z,6.69\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:24:00.000000000Z,6.621\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:30:00.000000000Z,6.65\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:36:00.000000000Z,6.749\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:42:00.000000000Z,6.788\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:48:00.000000000Z,6.818\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:54:00.000000000Z,6.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T03:00:00.000000000Z,6.9\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double\n#group,false,false,false,false\n#default,_result,,,\n,result,table,_time,_value\n,,0,2015-08-28T04:32:00Z,3.9914180362073646\n,,0,2015-08-28T10:51:00Z,0.8307286750677001\n,,0,2015-08-28T17:10:00Z,3.6959256712424695\n,,0,2015-08-28T23:29:00Z,2.945758601382681\n,,0,2015-08-29T05:48:00Z,3.398909006745872\n,,0,2015-08-29T12:07:00Z,0.6985261817067938\n,,0,2015-08-29T18:26:00Z,3.0650009664543356\n,,0,2015-08-30T00:45:00Z,2.4176070926199644\n,,0,2015-08-30T07:04:00Z,2.7815982631565688\n,,0,2015-08-30T13:23:00Z,0.5664788122687602\n\"\nt_hw = (table=<-) => table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)\n    |> keep(columns: [\"_time\", \"_value\"])\n\ntest _holt_winters = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   1260,
					},
					File:   "holt_winters_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:12:00.000000000Z,4.948\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:18:00.000000000Z,4.895\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:24:00.000000000Z,4.849\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:30:00.000000000Z,4.918\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:36:00.000000000Z,4.918\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:42:00.000000000Z,4.915\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:48:00.000000000Z,4.908\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:54:00.000000000Z,4.898\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:00:00.000000000Z,4.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:06:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:12:00.000000000Z,4.859\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:18:00.000000000Z,4.843\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:24:00.000000000Z,4.82\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:30:00.000000000Z,4.8\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:36:00.000000000Z,4.774\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:42:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:48:00.000000000Z,4.767\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:54:00.000000000Z,4.708\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:00:00.000000000Z,4.669\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:06:00.000000000Z,4.626\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:12:00.000000000Z,4.619\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:18:00.000000000Z,4.557\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:24:00.000000000Z,4.498\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:30:00.000000000Z,4.462\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:36:00.000000000Z,4.406\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:42:00.000000000Z,4.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:48:00.000000000Z,4.373\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:54:00.000000000Z,4.298\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:00:00.000000000Z,4.167\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:06:00.000000000Z,4.137\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:12:00.000000000Z,4.108\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:18:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:24:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:30:00.000000000Z,3.94\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:36:00.000000000Z,3.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:42:00.000000000Z,3.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:48:00.000000000Z,3.773\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:54:00.000000000Z,3.852\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:00:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:06:00.000000000Z,3.609\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:12:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:18:00.000000000Z,3.399\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:24:00.000000000Z,3.425\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:30:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:36:00.000000000Z,3.268\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:42:00.000000000Z,3.212\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:48:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:54:00.000000000Z,3.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:00:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:06:00.000000000Z,3.018\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:12:00.000000000Z,2.897\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:18:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:24:00.000000000Z,2.808\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:30:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:36:00.000000000Z,2.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:42:00.000000000Z,2.618\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:48:00.000000000Z,2.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:54:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:00:00.000000000Z,2.418\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:06:00.000000000Z,2.385\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:12:00.000000000Z,2.323\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:18:00.000000000Z,2.343\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:24:00.000000000Z,2.3\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:30:00.000000000Z,2.257\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:36:00.000000000Z,2.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:42:00.000000000Z,2.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:48:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:54:00.000000000Z,2.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:00:00.000000000Z,2.103\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:06:00.000000000Z,2.123\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:12:00.000000000Z,2.024\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:18:00.000000000Z,1.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:24:00.000000000Z,1.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:30:00.000000000Z,1.942\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:36:00.000000000Z,1.87\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:42:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:48:00.000000000Z,1.873\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:54:00.000000000Z,1.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:00:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:06:00.000000000Z,1.883\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:12:00.000000000Z,1.834\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:18:00.000000000Z,1.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:24:00.000000000Z,1.765\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:30:00.000000000Z,1.759\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:36:00.000000000Z,1.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:42:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:48:00.000000000Z,1.804\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:54:00.000000000Z,1.834\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:00:00.000000000Z,1.87\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:06:00.000000000Z,1.788\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:12:00.000000000Z,1.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:18:00.000000000Z,1.952\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:24:00.000000000Z,1.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:30:00.000000000Z,1.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:36:00.000000000Z,1.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:42:00.000000000Z,2.001\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:48:00.000000000Z,2.021\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:54:00.000000000Z,2.008\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:00:00.000000000Z,2.067\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:06:00.000000000Z,2.1\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:12:00.000000000Z,2.09\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:18:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:24:00.000000000Z,2.264\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:30:00.000000000Z,2.231\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:36:00.000000000Z,2.211\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:42:00.000000000Z,2.356\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:48:00.000000000Z,2.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:54:00.000000000Z,2.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:00:00.000000000Z,2.411\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:06:00.000000000Z,2.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:12:00.000000000Z,2.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:18:00.000000000Z,2.562\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:24:00.000000000Z,2.585\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:30:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:36:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:42:00.000000000Z,2.654\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:48:00.000000000Z,2.667\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:54:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:00:00.000000000Z,2.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:06:00.000000000Z,2.917\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:12:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:18:00.000000000Z,2.785\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:24:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:30:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:36:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:42:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:48:00.000000000Z,3.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:54:00.000000000Z,3.035\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:00:00.000000000Z,3.084\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:06:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:12:00.000000000Z,3.166\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:18:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:24:00.000000000Z,3.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:30:00.000000000Z,3.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:36:00.000000000Z,3.287\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:42:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:48:00.000000000Z,3.225\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:54:00.000000000Z,3.343\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:00:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:06:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:12:00.000000000Z,3.33\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:18:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:24:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:30:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:36:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:42:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:48:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:54:00.000000000Z,3.291\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:00:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:06:00.000000000Z,3.35\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:12:00.000000000Z,3.261\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:18:00.000000000Z,3.281\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:24:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:30:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:36:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:42:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:48:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:54:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:00:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:06:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:12:00.000000000Z,3.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:18:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:24:00.000000000Z,3.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:30:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:36:00.000000000Z,3.196\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:42:00.000000000Z,3.176\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:48:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:54:00.000000000Z,3.146\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:00:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:06:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:12:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:18:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:24:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:30:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:36:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:42:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:48:00.000000000Z,2.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:54:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:00:00.000000000Z,2.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:06:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:12:00.000000000Z,2.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:18:00.000000000Z,2.848\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:24:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:30:00.000000000Z,2.907\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:36:00.000000000Z,2.927\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:42:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:48:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:54:00.000000000Z,2.966\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:00:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:06:00.000000000Z,2.897\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:12:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:18:00.000000000Z,2.953\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:24:00.000000000Z,2.9\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:30:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:36:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:42:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:48:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:54:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:00:00.000000000Z,3.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:06:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:12:00.000000000Z,3.107\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:18:00.000000000Z,3.14\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:24:00.000000000Z,3.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:30:00.000000000Z,3.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:36:00.000000000Z,3.173\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:42:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:48:00.000000000Z,3.241\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:54:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:00:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:06:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:12:00.000000000Z,3.36\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:18:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:24:00.000000000Z,3.471\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:30:00.000000000Z,3.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:36:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:42:00.000000000Z,3.53\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:48:00.000000000Z,3.602\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:54:00.000000000Z,3.625\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:00:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:06:00.000000000Z,3.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:12:00.000000000Z,3.743\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:18:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:24:00.000000000Z,3.947\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:30:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:36:00.000000000Z,3.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:42:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:48:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:54:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:00:00.000000000Z,4.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:06:00.000000000Z,4.252\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:12:00.000000000Z,4.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:18:00.000000000Z,4.344\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:24:00.000000000Z,4.449\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:30:00.000000000Z,4.541\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:36:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:42:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:48:00.000000000Z,4.613\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:54:00.000000000Z,4.613\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:00:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:06:00.000000000Z,4.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:12:00.000000000Z,4.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:18:00.000000000Z,4.82\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:24:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:30:00.000000000Z,4.859\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:36:00.000000000Z,4.987\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:42:00.000000000Z,4.984\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:48:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:54:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:00:00.000000000Z,5.016\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:06:00.000000000Z,4.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:12:00.000000000Z,5.036\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:18:00.000000000Z,5.052\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:24:00.000000000Z,5.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:30:00.000000000Z,5.121\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:36:00.000000000Z,5.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:42:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:48:00.000000000Z,5.056\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:54:00.000000000Z,4.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:00:00.000000000Z,5.01\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:06:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:12:00.000000000Z,5.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:18:00.000000000Z,5.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:24:00.000000000Z,4.98\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:30:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:36:00.000000000Z,4.977\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:42:00.000000000Z,4.954\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:48:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:54:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:00:00.000000000Z,4.869\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:06:00.000000000Z,4.829\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:12:00.000000000Z,4.846\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:18:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:24:00.000000000Z,4.708\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:30:00.000000000Z,4.652\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:36:00.000000000Z,4.534\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:42:00.000000000Z,4.452\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:48:00.000000000Z,4.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:54:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:00:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:06:00.000000000Z,4.314\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:12:00.000000000Z,4.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:18:00.000000000Z,4.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:24:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:30:00.000000000Z,3.97\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:36:00.000000000Z,3.947\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:42:00.000000000Z,3.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:48:00.000000000Z,3.796\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:54:00.000000000Z,3.684\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:00:00.000000000Z,3.606\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:06:00.000000000Z,3.596\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:12:00.000000000Z,3.55\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:18:00.000000000Z,3.422\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:24:00.000000000Z,3.268\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:30:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:36:00.000000000Z,3.189\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:42:00.000000000Z,3.146\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:48:00.000000000Z,3.123\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:54:00.000000000Z,3.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:00:00.000000000Z,2.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:06:00.000000000Z,2.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:12:00.000000000Z,2.71\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:18:00.000000000Z,2.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:24:00.000000000Z,2.562\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:30:00.000000000Z,2.549\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:36:00.000000000Z,2.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:42:00.000000000Z,2.352\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:48:00.000000000Z,2.264\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:54:00.000000000Z,2.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:00:00.000000000Z,2.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:06:00.000000000Z,1.965\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:12:00.000000000Z,2.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:18:00.000000000Z,1.959\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:24:00.000000000Z,1.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:30:00.000000000Z,1.864\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:36:00.000000000Z,1.739\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:42:00.000000000Z,1.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:48:00.000000000Z,1.722\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:54:00.000000000Z,1.621\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:00:00.000000000Z,1.594\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:06:00.000000000Z,1.545\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:12:00.000000000Z,1.526\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:18:00.000000000Z,1.457\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:24:00.000000000Z,1.414\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:30:00.000000000Z,1.355\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:36:00.000000000Z,1.355\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:42:00.000000000Z,1.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:48:00.000000000Z,1.224\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:54:00.000000000Z,1.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:00:00.000000000Z,1.257\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:06:00.000000000Z,1.188\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:12:00.000000000Z,1.296\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:18:00.000000000Z,1.181\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:24:00.000000000Z,1.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:30:00.000000000Z,1.201\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:36:00.000000000Z,1.175\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:42:00.000000000Z,1.201\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:48:00.000000000Z,1.263\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:54:00.000000000Z,1.227\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:00:00.000000000Z,1.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:06:00.000000000Z,1.253\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:12:00.000000000Z,1.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:18:00.000000000Z,1.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:24:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:30:00.000000000Z,1.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:36:00.000000000Z,1.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:42:00.000000000Z,1.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:48:00.000000000Z,1.506\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:54:00.000000000Z,1.572\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:00:00.000000000Z,1.549\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:06:00.000000000Z,1.594\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:12:00.000000000Z,1.722\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:18:00.000000000Z,1.739\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:24:00.000000000Z,1.749\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:30:00.000000000Z,1.804\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:36:00.000000000Z,1.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:42:00.000000000Z,1.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:48:00.000000000Z,2.014\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:54:00.000000000Z,2.07\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:00:00.000000000Z,2.139\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:06:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:12:00.000000000Z,2.162\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:18:00.000000000Z,2.224\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:24:00.000000000Z,2.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:30:00.000000000Z,2.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:36:00.000000000Z,2.392\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:42:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:48:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:54:00.000000000Z,2.605\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:00:00.000000000Z,2.671\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:06:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:12:00.000000000Z,2.805\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:18:00.000000000Z,2.776\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:24:00.000000000Z,2.825\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:30:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:36:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:42:00.000000000Z,3.1\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:48:00.000000000Z,3.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:54:00.000000000Z,3.133\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:00:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:06:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:12:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:18:00.000000000Z,3.34\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:24:00.000000000Z,3.333\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:30:00.000000000Z,3.35\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:36:00.000000000Z,3.412\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:42:00.000000000Z,3.432\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:48:00.000000000Z,3.383\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:54:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:00:00.000000000Z,3.442\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:06:00.000000000Z,3.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:12:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:18:00.000000000Z,3.56\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:24:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:30:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:36:00.000000000Z,3.451\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:42:00.000000000Z,3.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:48:00.000000000Z,3.504\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:54:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:00:00.000000000Z,3.547\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:06:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:12:00.000000000Z,3.573\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:18:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:24:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:30:00.000000000Z,3.599\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:36:00.000000000Z,3.527\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:42:00.000000000Z,3.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:48:00.000000000Z,3.579\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:54:00.000000000Z,3.533\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:00:00.000000000Z,3.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:06:00.000000000Z,3.517\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:12:00.000000000Z,3.481\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:18:00.000000000Z,3.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:24:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:30:00.000000000Z,3.389\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:36:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:42:00.000000000Z,3.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:48:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:54:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:00:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:06:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:12:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:18:00.000000000Z,3.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:24:00.000000000Z,3.173\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:30:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:36:00.000000000Z,3.156\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:42:00.000000000Z,3.114\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:48:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:54:00.000000000Z,3.038\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:00:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:06:00.000000000Z,3.015\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:12:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:18:00.000000000Z,2.966\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:24:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:30:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:36:00.000000000Z,2.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:42:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:48:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:54:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:00:00.000000000Z,2.913\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:06:00.000000000Z,2.884\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:12:00.000000000Z,2.953\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:18:00.000000000Z,2.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:24:00.000000000Z,2.999\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:30:00.000000000Z,2.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:36:00.000000000Z,2.828\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:42:00.000000000Z,2.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:48:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:54:00.000000000Z,3.018\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:00:00.000000000Z,2.976\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:06:00.000000000Z,2.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:12:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:18:00.000000000Z,2.881\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:24:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:30:00.000000000Z,3.117\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:36:00.000000000Z,3.12\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:42:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:48:00.000000000Z,3.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:54:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:00:00.000000000Z,3.251\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:06:00.000000000Z,3.287\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:12:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:18:00.000000000Z,3.337\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:24:00.000000000Z,3.376\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:30:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:36:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:42:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:48:00.000000000Z,3.586\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:54:00.000000000Z,3.638\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:00:00.000000000Z,3.72\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:06:00.000000000Z,3.74\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:12:00.000000000Z,3.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:18:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:24:00.000000000Z,3.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:30:00.000000000Z,4.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:36:00.000000000Z,4.062\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:42:00.000000000Z,4.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:48:00.000000000Z,4.203\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:54:00.000000000Z,4.259\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:00:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:06:00.000000000Z,4.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:12:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:18:00.000000000Z,4.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:24:00.000000000Z,4.554\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:30:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:36:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:42:00.000000000Z,4.849\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:48:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:54:00.000000000Z,4.905\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:00:00.000000000Z,4.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:06:00.000000000Z,5.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:12:00.000000000Z,5.062\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:18:00.000000000Z,5.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:24:00.000000000Z,5.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:30:00.000000000Z,5.18\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:36:00.000000000Z,5.2\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:42:00.000000000Z,5.295\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:48:00.000000000Z,5.315\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:54:00.000000000Z,5.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:00:00.000000000Z,5.285\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:06:00.000000000Z,5.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:12:00.000000000Z,5.344\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:18:00.000000000Z,5.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:24:00.000000000Z,5.42\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:30:00.000000000Z,5.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:36:00.000000000Z,5.358\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:42:00.000000000Z,5.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:48:00.000000000Z,5.449\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:54:00.000000000Z,5.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:00:00.000000000Z,5.463\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:06:00.000000000Z,5.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:12:00.000000000Z,5.479\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:18:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:24:00.000000000Z,5.325\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:30:00.000000000Z,5.387\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:36:00.000000000Z,5.299\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:42:00.000000000Z,5.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:48:00.000000000Z,5.236\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:54:00.000000000Z,5.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:00:00.000000000Z,5.171\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:06:00.000000000Z,5.098\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:12:00.000000000Z,5.059\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:18:00.000000000Z,4.964\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:24:00.000000000Z,4.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:30:00.000000000Z,4.872\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:36:00.000000000Z,4.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:42:00.000000000Z,4.777\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:48:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:54:00.000000000Z,4.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:00:00.000000000Z,4.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:06:00.000000000Z,4.432\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:12:00.000000000Z,4.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:18:00.000000000Z,4.275\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:24:00.000000000Z,4.265\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:30:00.000000000Z,4.111\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:36:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:42:00.000000000Z,3.924\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:48:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:54:00.000000000Z,3.763\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:00:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:06:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:12:00.000000000Z,3.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:18:00.000000000Z,3.333\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:24:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:30:00.000000000Z,3.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:36:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:42:00.000000000Z,2.9\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:48:00.000000000Z,2.795\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:54:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:00:00.000000000Z,2.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:06:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:12:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:18:00.000000000Z,2.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:24:00.000000000Z,2.178\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:30:00.000000000Z,2.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:36:00.000000000Z,1.978\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:42:00.000000000Z,1.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:48:00.000000000Z,1.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:54:00.000000000Z,1.752\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:00:00.000000000Z,1.66\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:06:00.000000000Z,1.572\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:12:00.000000000Z,1.424\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:18:00.000000000Z,1.437\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:24:00.000000000Z,1.375\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:30:00.000000000Z,1.289\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:36:00.000000000Z,1.161\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:42:00.000000000Z,1.138\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:48:00.000000000Z,1.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:54:00.000000000Z,1.043\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:00:00.000000000Z,0.984\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:06:00.000000000Z,0.896\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:12:00.000000000Z,0.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:18:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:24:00.000000000Z,0.81\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:30:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:36:00.000000000Z,0.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:42:00.000000000Z,0.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:48:00.000000000Z,0.676\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:54:00.000000000Z,0.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:00:00.000000000Z,0.781\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:06:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:12:00.000000000Z,0.771\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:18:00.000000000Z,0.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:24:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:30:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:36:00.000000000Z,0.837\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:42:00.000000000Z,0.784\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:48:00.000000000Z,0.755\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:54:00.000000000Z,0.794\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:00:00.000000000Z,0.899\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:06:00.000000000Z,0.997\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:12:00.000000000Z,1.02\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:18:00.000000000Z,1.037\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:24:00.000000000Z,1.093\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:30:00.000000000Z,1.132\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:36:00.000000000Z,1.188\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:42:00.000000000Z,1.234\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:48:00.000000000Z,1.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:54:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:00:00.000000000Z,1.345\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:06:00.000000000Z,1.483\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:12:00.000000000Z,1.539\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:18:00.000000000Z,1.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:24:00.000000000Z,1.631\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:30:00.000000000Z,1.729\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:36:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:42:00.000000000Z,1.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:48:00.000000000Z,1.942\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:54:00.000000000Z,2.083\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:00:00.000000000Z,2.205\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:06:00.000000000Z,2.162\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:12:00.000000000Z,2.267\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:18:00.000000000Z,2.356\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:24:00.000000000Z,2.448\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:30:00.000000000Z,2.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:36:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:42:00.000000000Z,2.7\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:48:00.000000000Z,2.756\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:54:00.000000000Z,2.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:00:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:06:00.000000000Z,2.933\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:12:00.000000000Z,2.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:18:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:24:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:30:00.000000000Z,3.32\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:36:00.000000000Z,3.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:42:00.000000000Z,3.33\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:48:00.000000000Z,3.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:54:00.000000000Z,3.504\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:00:00.000000000Z,3.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:06:00.000000000Z,3.668\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:12:00.000000000Z,3.763\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:18:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:24:00.000000000Z,3.655\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:30:00.000000000Z,3.78\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:36:00.000000000Z,3.881\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:42:00.000000000Z,3.862\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:48:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:54:00.000000000Z,3.793\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:00:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:06:00.000000000Z,3.907\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:12:00.000000000Z,3.996\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:18:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:24:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:30:00.000000000Z,3.937\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:36:00.000000000Z,4.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:42:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:48:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:54:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:00:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:06:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:12:00.000000000Z,4.065\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:18:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:24:00.000000000Z,3.973\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:30:00.000000000Z,3.868\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:36:00.000000000Z,3.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:42:00.000000000Z,3.894\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:48:00.000000000Z,3.891\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:54:00.000000000Z,3.835\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:00:00.000000000Z,3.711\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:06:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:12:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:18:00.000000000Z,3.671\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:24:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:30:00.000000000Z,3.622\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:36:00.000000000Z,3.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:42:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:48:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:54:00.000000000Z,3.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:00:00.000000000Z,3.412\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:06:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:12:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:18:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:24:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:30:00.000000000Z,3.225\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:36:00.000000000Z,3.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:42:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:48:00.000000000Z,3.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:54:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:00:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:06:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:12:00.000000000Z,2.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:18:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:24:00.000000000Z,2.851\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:30:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:36:00.000000000Z,2.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:42:00.000000000Z,2.776\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:48:00.000000000Z,2.68\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:54:00.000000000Z,2.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:00:00.000000000Z,2.651\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:06:00.000000000Z,2.746\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:12:00.000000000Z,2.789\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:18:00.000000000Z,2.762\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:24:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:30:00.000000000Z,2.687\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:36:00.000000000Z,2.69\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:42:00.000000000Z,2.71\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:48:00.000000000Z,2.785\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:54:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:00:00.000000000Z,2.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:06:00.000000000Z,2.805\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:12:00.000000000Z,2.815\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:18:00.000000000Z,2.861\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:24:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:30:00.000000000Z,2.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:36:00.000000000Z,2.904\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:42:00.000000000Z,2.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:48:00.000000000Z,3.058\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:54:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:00:00.000000000Z,3.084\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:06:00.000000000Z,3.13\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:12:00.000000000Z,3.222\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:18:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:24:00.000000000Z,3.291\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:30:00.000000000Z,3.438\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:36:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:42:00.000000000Z,3.586\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:48:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:54:00.000000000Z,3.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:00:00.000000000Z,3.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:06:00.000000000Z,3.901\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:12:00.000000000Z,3.973\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:18:00.000000000Z,3.934\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:24:00.000000000Z,4.042\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:30:00.000000000Z,4.275\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:36:00.000000000Z,4.396\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:42:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:48:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:54:00.000000000Z,4.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:00:00.000000000Z,4.564\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:06:00.000000000Z,4.741\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:12:00.000000000Z,4.829\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:18:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:24:00.000000000Z,4.885\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:30:00.000000000Z,4.931\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:36:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:42:00.000000000Z,5.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:48:00.000000000Z,5.22\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:54:00.000000000Z,5.249\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:00:00.000000000Z,5.331\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:06:00.000000000Z,5.371\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:12:00.000000000Z,5.479\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:18:00.000000000Z,5.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:24:00.000000000Z,5.61\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:30:00.000000000Z,5.617\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:36:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:42:00.000000000Z,5.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:48:00.000000000Z,5.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:54:00.000000000Z,5.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:00:00.000000000Z,5.823\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:06:00.000000000Z,5.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:12:00.000000000Z,5.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:18:00.000000000Z,5.925\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:24:00.000000000Z,5.997\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:30:00.000000000Z,6.027\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:36:00.000000000Z,5.978\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:42:00.000000000Z,5.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:48:00.000000000Z,5.955\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:54:00.000000000Z,5.915\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:00:00.000000000Z,5.961\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:06:00.000000000Z,5.958\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:12:00.000000000Z,5.906\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:18:00.000000000Z,5.886\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:24:00.000000000Z,5.866\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:30:00.000000000Z,5.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:36:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:42:00.000000000Z,5.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:48:00.000000000Z,5.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:54:00.000000000Z,5.525\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:00:00.000000000Z,5.489\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:06:00.000000000Z,5.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:12:00.000000000Z,5.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:18:00.000000000Z,5.246\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:24:00.000000000Z,5.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:30:00.000000000Z,5.105\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:36:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:42:00.000000000Z,4.908\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:48:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:54:00.000000000Z,4.751\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:00:00.000000000Z,4.656\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:06:00.000000000Z,4.547\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:12:00.000000000Z,4.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:18:00.000000000Z,4.304\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:24:00.000000000Z,4.219\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:30:00.000000000Z,4.124\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:36:00.000000000Z,4.016\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:42:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:48:00.000000000Z,3.737\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:54:00.000000000Z,3.596\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:00:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:06:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:12:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:18:00.000000000Z,3.091\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:24:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:30:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:36:00.000000000Z,2.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:42:00.000000000Z,2.579\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:48:00.000000000Z,2.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:54:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:00:00.000000000Z,2.283\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:06:00.000000000Z,2.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:12:00.000000000Z,1.962\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:18:00.000000000Z,1.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:24:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:30:00.000000000Z,1.663\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:36:00.000000000Z,1.558\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:42:00.000000000Z,1.532\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:48:00.000000000Z,1.496\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:54:00.000000000Z,1.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:00:00.000000000Z,1.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:06:00.000000000Z,1.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:12:00.000000000Z,1.073\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:18:00.000000000Z,1.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:24:00.000000000Z,0.935\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:30:00.000000000Z,0.948\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:36:00.000000000Z,0.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:42:00.000000000Z,0.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:48:00.000000000Z,0.604\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:54:00.000000000Z,0.614\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:00:00.000000000Z,0.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:06:00.000000000Z,0.531\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:12:00.000000000Z,0.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:18:00.000000000Z,0.518\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:24:00.000000000Z,0.404\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:30:00.000000000Z,0.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:36:00.000000000Z,0.397\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:42:00.000000000Z,0.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:48:00.000000000Z,0.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:54:00.000000000Z,0.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:00:00.000000000Z,0.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:06:00.000000000Z,0.443\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:12:00.000000000Z,0.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:18:00.000000000Z,0.371\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:24:00.000000000Z,0.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:30:00.000000000Z,0.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:36:00.000000000Z,0.518\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:42:00.000000000Z,0.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:48:00.000000000Z,0.663\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:54:00.000000000Z,0.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:00:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:06:00.000000000Z,0.866\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:12:00.000000000Z,0.863\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:18:00.000000000Z,0.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:24:00.000000000Z,0.951\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:30:00.000000000Z,1.079\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:36:00.000000000Z,1.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:42:00.000000000Z,1.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:48:00.000000000Z,1.309\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:54:00.000000000Z,1.411\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:00:00.000000000Z,1.522\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:06:00.000000000Z,1.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:12:00.000000000Z,1.677\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:18:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:24:00.000000000Z,1.896\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:30:00.000000000Z,2.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:36:00.000000000Z,2.103\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:42:00.000000000Z,2.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:48:00.000000000Z,2.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:54:00.000000000Z,2.388\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:00:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:06:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:12:00.000000000Z,2.661\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:18:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:24:00.000000000Z,2.812\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:30:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:36:00.000000000Z,3.048\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:42:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:48:00.000000000Z,3.235\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:54:00.000000000Z,3.31\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:00:00.000000000Z,3.32\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:06:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:12:00.000000000Z,3.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:18:00.000000000Z,3.655\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:24:00.000000000Z,3.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:30:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:36:00.000000000Z,3.852\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:42:00.000000000Z,3.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:48:00.000000000Z,3.917\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:54:00.000000000Z,4.039\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:00:00.000000000Z,4.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:06:00.000000000Z,4.134\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:12:00.000000000Z,4.144\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:18:00.000000000Z,4.183\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:24:00.000000000Z,4.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:30:00.000000000Z,4.295\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:36:00.000000000Z,4.304\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:42:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:48:00.000000000Z,4.318\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:54:00.000000000Z,4.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:00:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:06:00.000000000Z,4.354\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:12:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:18:00.000000000Z,4.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:24:00.000000000Z,4.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:30:00.000000000Z,4.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:36:00.000000000Z,4.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:42:00.000000000Z,4.377\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:48:00.000000000Z,4.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:54:00.000000000Z,4.347\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:00:00.000000000Z,4.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:06:00.000000000Z,4.321\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:12:00.000000000Z,4.298\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:18:00.000000000Z,4.219\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:24:00.000000000Z,4.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:30:00.000000000Z,4.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:36:00.000000000Z,4.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:42:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:48:00.000000000Z,3.944\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:54:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:00:00.000000000Z,3.832\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:06:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:12:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:18:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:24:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:30:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:36:00.000000000Z,3.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:42:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:48:00.000000000Z,3.366\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:54:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:00:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:06:00.000000000Z,3.241\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:12:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:18:00.000000000Z,3.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:24:00.000000000Z,3.058\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:30:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:36:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:42:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:48:00.000000000Z,2.894\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:54:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:00:00.000000000Z,2.736\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:06:00.000000000Z,2.72\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:12:00.000000000Z,2.651\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:18:00.000000000Z,2.661\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:24:00.000000000Z,2.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:30:00.000000000Z,2.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:36:00.000000000Z,2.615\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:42:00.000000000Z,2.585\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:48:00.000000000Z,2.598\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:54:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:00:00.000000000Z,2.451\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:06:00.000000000Z,2.448\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:12:00.000000000Z,2.48\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:18:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:24:00.000000000Z,2.513\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:30:00.000000000Z,2.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:36:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:42:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:48:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:54:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:00:00.000000000Z,2.618\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:06:00.000000000Z,2.697\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:12:00.000000000Z,2.766\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:18:00.000000000Z,2.831\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:24:00.000000000Z,2.766\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:30:00.000000000Z,2.795\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:36:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:42:00.000000000Z,3.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:48:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:54:00.000000000Z,3.176\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:00:00.000000000Z,3.159\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:06:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:12:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:18:00.000000000Z,3.442\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:24:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:30:00.000000000Z,3.566\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:36:00.000000000Z,3.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:42:00.000000000Z,3.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:48:00.000000000Z,3.914\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:54:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:00:00.000000000Z,3.999\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:06:00.000000000Z,4.035\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:12:00.000000000Z,4.065\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:18:00.000000000Z,4.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:24:00.000000000Z,4.419\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:30:00.000000000Z,4.531\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:36:00.000000000Z,4.623\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:42:00.000000000Z,4.633\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:48:00.000000000Z,4.731\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:54:00.000000000Z,4.928\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:00:00.000000000Z,4.951\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:06:00.000000000Z,5.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:12:00.000000000Z,5.167\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:18:00.000000000Z,5.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:24:00.000000000Z,5.433\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:30:00.000000000Z,5.548\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:36:00.000000000Z,5.659\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:42:00.000000000Z,5.564\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:48:00.000000000Z,5.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:54:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:00:00.000000000Z,5.873\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:06:00.000000000Z,6.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:12:00.000000000Z,6.053\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:18:00.000000000Z,6.119\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:24:00.000000000Z,6.043\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:30:00.000000000Z,6.076\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:36:00.000000000Z,6.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:42:00.000000000Z,6.171\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:48:00.000000000Z,6.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:54:00.000000000Z,6.312\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:00:00.000000000Z,6.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:06:00.000000000Z,6.348\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:12:00.000000000Z,6.385\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:18:00.000000000Z,6.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:24:00.000000000Z,6.352\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:30:00.000000000Z,6.404\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:36:00.000000000Z,6.358\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:42:00.000000000Z,6.335\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:48:00.000000000Z,6.365\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:54:00.000000000Z,6.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:00:00.000000000Z,6.28\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:06:00.000000000Z,6.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:12:00.000000000Z,6.168\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:18:00.000000000Z,6.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:24:00.000000000Z,6.122\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:30:00.000000000Z,6.096\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:36:00.000000000Z,5.994\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:42:00.000000000Z,5.853\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:48:00.000000000Z,5.778\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:54:00.000000000Z,5.751\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:00:00.000000000Z,5.689\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:06:00.000000000Z,5.604\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:12:00.000000000Z,5.545\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:18:00.000000000Z,5.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:24:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:30:00.000000000Z,5.24\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:36:00.000000000Z,5.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:42:00.000000000Z,4.98\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:48:00.000000000Z,4.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:54:00.000000000Z,4.685\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:00:00.000000000Z,4.593\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:06:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:12:00.000000000Z,4.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:18:00.000000000Z,4.104\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:24:00.000000000Z,3.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:30:00.000000000Z,3.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:36:00.000000000Z,3.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:42:00.000000000Z,3.54\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:48:00.000000000Z,3.376\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:54:00.000000000Z,3.212\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:00:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:06:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:12:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:18:00.000000000Z,2.703\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:24:00.000000000Z,2.523\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:30:00.000000000Z,2.336\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:36:00.000000000Z,2.208\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:42:00.000000000Z,2.113\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:48:00.000000000Z,2.044\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:54:00.000000000Z,1.88\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:00:00.000000000Z,1.732\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:06:00.000000000Z,1.578\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:12:00.000000000Z,1.46\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:18:00.000000000Z,1.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:24:00.000000000Z,1.27\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:30:00.000000000Z,1.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:36:00.000000000Z,1.01\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:42:00.000000000Z,0.902\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:48:00.000000000Z,0.768\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:54:00.000000000Z,0.702\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:00:00.000000000Z,0.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:06:00.000000000Z,0.509\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:12:00.000000000Z,0.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:18:00.000000000Z,0.351\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:24:00.000000000Z,0.331\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:30:00.000000000Z,0.318\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:36:00.000000000Z,0.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:42:00.000000000Z,0.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:48:00.000000000Z,0.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:54:00.000000000Z,0.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:00:00.000000000Z,0.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:06:00.000000000Z,0.082\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:12:00.000000000Z,-0.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:18:00.000000000Z,0.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:24:00.000000000Z,0.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:30:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:36:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:42:00.000000000Z,0.098\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:48:00.000000000Z,0.079\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:54:00.000000000Z,0.082\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:00:00.000000000Z,0.089\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:06:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:12:00.000000000Z,0.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:18:00.000000000Z,0.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:24:00.000000000Z,0.207\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:30:00.000000000Z,0.338\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:36:00.000000000Z,0.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:42:00.000000000Z,0.43\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:48:00.000000000Z,0.456\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:54:00.000000000Z,0.489\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:00:00.000000000Z,0.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:06:00.000000000Z,0.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:12:00.000000000Z,0.912\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:18:00.000000000Z,0.955\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:24:00.000000000Z,1.05\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:30:00.000000000Z,1.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:36:00.000000000Z,1.25\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:42:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:48:00.000000000Z,1.457\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:54:00.000000000Z,1.66\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:00:00.000000000Z,1.755\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:06:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:12:00.000000000Z,2.001\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:18:00.000000000Z,2.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:24:00.000000000Z,2.244\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:30:00.000000000Z,2.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:36:00.000000000Z,2.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:42:00.000000000Z,2.552\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:48:00.000000000Z,2.687\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:54:00.000000000Z,2.802\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:00:00.000000000Z,2.959\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:06:00.000000000Z,3.117\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:12:00.000000000Z,3.228\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:18:00.000000000Z,3.294\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:24:00.000000000Z,3.373\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:30:00.000000000Z,3.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:36:00.000000000Z,3.537\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:42:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:48:00.000000000Z,3.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:54:00.000000000Z,3.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:00:00.000000000Z,4.006\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:06:00.000000000Z,4.085\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:12:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:18:00.000000000Z,4.239\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:24:00.000000000Z,4.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:30:00.000000000Z,4.4\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:36:00.000000000Z,4.537\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:42:00.000000000Z,4.629\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:48:00.000000000Z,4.619\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:54:00.000000000Z,4.626\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:00:00.000000000Z,4.633\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:06:00.000000000Z,4.731\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:12:00.000000000Z,4.764\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:18:00.000000000Z,4.77\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:24:00.000000000Z,4.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:30:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:36:00.000000000Z,4.836\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:42:00.000000000Z,4.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:48:00.000000000Z,4.895\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:54:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:00:00.000000000Z,4.78\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:06:00.000000000Z,4.793\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:12:00.000000000Z,4.77\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:18:00.000000000Z,4.803\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:24:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:30:00.000000000Z,4.738\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:36:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:42:00.000000000Z,4.58\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:48:00.000000000Z,4.567\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:54:00.000000000Z,4.505\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:00:00.000000000Z,4.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:06:00.000000000Z,4.38\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:12:00.000000000Z,4.324\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:18:00.000000000Z,4.321\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:24:00.000000000Z,4.14\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:30:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:36:00.000000000Z,4.055\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:42:00.000000000Z,3.96\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:48:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:54:00.000000000Z,3.832\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:00:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:06:00.000000000Z,3.668\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:12:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:18:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:24:00.000000000Z,3.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:30:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:36:00.000000000Z,3.34\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:42:00.000000000Z,3.271\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:48:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:54:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:00:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:06:00.000000000Z,2.933\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:12:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:18:00.000000000Z,2.769\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:24:00.000000000Z,2.68\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:30:00.000000000Z,2.631\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:36:00.000000000Z,2.566\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:42:00.000000000Z,2.53\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:48:00.000000000Z,2.536\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:54:00.000000000Z,2.5\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:00:00.000000000Z,2.392\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:06:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:12:00.000000000Z,2.28\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:18:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:24:00.000000000Z,2.251\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:30:00.000000000Z,2.172\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:36:00.000000000Z,2.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:42:00.000000000Z,2.221\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:48:00.000000000Z,2.195\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:54:00.000000000Z,2.165\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:00:00.000000000Z,2.096\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:06:00.000000000Z,2.139\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:12:00.000000000Z,2.211\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:18:00.000000000Z,2.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:24:00.000000000Z,2.306\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:30:00.000000000Z,2.31\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:36:00.000000000Z,2.29\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:42:00.000000000Z,2.3\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:48:00.000000000Z,2.375\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:54:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:00:00.000000000Z,2.52\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:06:00.000000000Z,2.48\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:12:00.000000000Z,2.513\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:18:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:24:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:30:00.000000000Z,2.808\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:36:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:42:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:48:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:54:00.000000000Z,3.12\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:00:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:06:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:12:00.000000000Z,3.406\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:18:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:24:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:30:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:36:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:42:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:48:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:54:00.000000000Z,4.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:00:00.000000000Z,4.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:06:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:12:00.000000000Z,4.475\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:18:00.000000000Z,4.646\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:24:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:30:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:36:00.000000000Z,5.026\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:42:00.000000000Z,5.18\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:48:00.000000000Z,5.246\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:54:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:00:00.000000000Z,5.427\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:06:00.000000000Z,5.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:12:00.000000000Z,5.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:18:00.000000000Z,5.817\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:24:00.000000000Z,5.879\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:30:00.000000000Z,5.991\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:36:00.000000000Z,6.024\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:42:00.000000000Z,6.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:48:00.000000000Z,6.296\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:54:00.000000000Z,6.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:00:00.000000000Z,6.437\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:06:00.000000000Z,6.499\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:12:00.000000000Z,6.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:18:00.000000000Z,6.69\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:24:00.000000000Z,6.621\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:30:00.000000000Z,6.65\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:36:00.000000000Z,6.749\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:42:00.000000000Z,6.788\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:48:00.000000000Z,6.818\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:54:00.000000000Z,6.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T03:00:00.000000000Z,6.9\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "holt_winters_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   1260,
						},
						File:   "holt_winters_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:12:00.000000000Z,4.948\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:18:00.000000000Z,4.895\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:24:00.000000000Z,4.849\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:30:00.000000000Z,4.918\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:36:00.000000000Z,4.918\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:42:00.000000000Z,4.915\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:48:00.000000000Z,4.908\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:54:00.000000000Z,4.898\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:00:00.000000000Z,4.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:06:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:12:00.000000000Z,4.859\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:18:00.000000000Z,4.843\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:24:00.000000000Z,4.82\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:30:00.000000000Z,4.8\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:36:00.000000000Z,4.774\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:42:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:48:00.000000000Z,4.767\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:54:00.000000000Z,4.708\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:00:00.000000000Z,4.669\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:06:00.000000000Z,4.626\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:12:00.000000000Z,4.619\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:18:00.000000000Z,4.557\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:24:00.000000000Z,4.498\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:30:00.000000000Z,4.462\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:36:00.000000000Z,4.406\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:42:00.000000000Z,4.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:48:00.000000000Z,4.373\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:54:00.000000000Z,4.298\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:00:00.000000000Z,4.167\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:06:00.000000000Z,4.137\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:12:00.000000000Z,4.108\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:18:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:24:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:30:00.000000000Z,3.94\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:36:00.000000000Z,3.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:42:00.000000000Z,3.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:48:00.000000000Z,3.773\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:54:00.000000000Z,3.852\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:00:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:06:00.000000000Z,3.609\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:12:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:18:00.000000000Z,3.399\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:24:00.000000000Z,3.425\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:30:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:36:00.000000000Z,3.268\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:42:00.000000000Z,3.212\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:48:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:54:00.000000000Z,3.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:00:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:06:00.000000000Z,3.018\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:12:00.000000000Z,2.897\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:18:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:24:00.000000000Z,2.808\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:30:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:36:00.000000000Z,2.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:42:00.000000000Z,2.618\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:48:00.000000000Z,2.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:54:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:00:00.000000000Z,2.418\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:06:00.000000000Z,2.385\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:12:00.000000000Z,2.323\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:18:00.000000000Z,2.343\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:24:00.000000000Z,2.3\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:30:00.000000000Z,2.257\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:36:00.000000000Z,2.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:42:00.000000000Z,2.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:48:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:54:00.000000000Z,2.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:00:00.000000000Z,2.103\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:06:00.000000000Z,2.123\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:12:00.000000000Z,2.024\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:18:00.000000000Z,1.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:24:00.000000000Z,1.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:30:00.000000000Z,1.942\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:36:00.000000000Z,1.87\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:42:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:48:00.000000000Z,1.873\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:54:00.000000000Z,1.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:00:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:06:00.000000000Z,1.883\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:12:00.000000000Z,1.834\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:18:00.000000000Z,1.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:24:00.000000000Z,1.765\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:30:00.000000000Z,1.759\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:36:00.000000000Z,1.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:42:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:48:00.000000000Z,1.804\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:54:00.000000000Z,1.834\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:00:00.000000000Z,1.87\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:06:00.000000000Z,1.788\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:12:00.000000000Z,1.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:18:00.000000000Z,1.952\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:24:00.000000000Z,1.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:30:00.000000000Z,1.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:36:00.000000000Z,1.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:42:00.000000000Z,2.001\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:48:00.000000000Z,2.021\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:54:00.000000000Z,2.008\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:00:00.000000000Z,2.067\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:06:00.000000000Z,2.1\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:12:00.000000000Z,2.09\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:18:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:24:00.000000000Z,2.264\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:30:00.000000000Z,2.231\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:36:00.000000000Z,2.211\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:42:00.000000000Z,2.356\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:48:00.000000000Z,2.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:54:00.000000000Z,2.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:00:00.000000000Z,2.411\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:06:00.000000000Z,2.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:12:00.000000000Z,2.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:18:00.000000000Z,2.562\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:24:00.000000000Z,2.585\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:30:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:36:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:42:00.000000000Z,2.654\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:48:00.000000000Z,2.667\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:54:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:00:00.000000000Z,2.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:06:00.000000000Z,2.917\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:12:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:18:00.000000000Z,2.785\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:24:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:30:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:36:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:42:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:48:00.000000000Z,3.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:54:00.000000000Z,3.035\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:00:00.000000000Z,3.084\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:06:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:12:00.000000000Z,3.166\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:18:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:24:00.000000000Z,3.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:30:00.000000000Z,3.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:36:00.000000000Z,3.287\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:42:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:48:00.000000000Z,3.225\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:54:00.000000000Z,3.343\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:00:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:06:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:12:00.000000000Z,3.33\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:18:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:24:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:30:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:36:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:42:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:48:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:54:00.000000000Z,3.291\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:00:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:06:00.000000000Z,3.35\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:12:00.000000000Z,3.261\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:18:00.000000000Z,3.281\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:24:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:30:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:36:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:42:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:48:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:54:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:00:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:06:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:12:00.000000000Z,3.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:18:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:24:00.000000000Z,3.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:30:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:36:00.000000000Z,3.196\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:42:00.000000000Z,3.176\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:48:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:54:00.000000000Z,3.146\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:00:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:06:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:12:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:18:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:24:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:30:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:36:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:42:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:48:00.000000000Z,2.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:54:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:00:00.000000000Z,2.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:06:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:12:00.000000000Z,2.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:18:00.000000000Z,2.848\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:24:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:30:00.000000000Z,2.907\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:36:00.000000000Z,2.927\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:42:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:48:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:54:00.000000000Z,2.966\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:00:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:06:00.000000000Z,2.897\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:12:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:18:00.000000000Z,2.953\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:24:00.000000000Z,2.9\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:30:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:36:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:42:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:48:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:54:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:00:00.000000000Z,3.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:06:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:12:00.000000000Z,3.107\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:18:00.000000000Z,3.14\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:24:00.000000000Z,3.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:30:00.000000000Z,3.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:36:00.000000000Z,3.173\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:42:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:48:00.000000000Z,3.241\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:54:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:00:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:06:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:12:00.000000000Z,3.36\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:18:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:24:00.000000000Z,3.471\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:30:00.000000000Z,3.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:36:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:42:00.000000000Z,3.53\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:48:00.000000000Z,3.602\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:54:00.000000000Z,3.625\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:00:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:06:00.000000000Z,3.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:12:00.000000000Z,3.743\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:18:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:24:00.000000000Z,3.947\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:30:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:36:00.000000000Z,3.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:42:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:48:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:54:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:00:00.000000000Z,4.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:06:00.000000000Z,4.252\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:12:00.000000000Z,4.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:18:00.000000000Z,4.344\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:24:00.000000000Z,4.449\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:30:00.000000000Z,4.541\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:36:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:42:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:48:00.000000000Z,4.613\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:54:00.000000000Z,4.613\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:00:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:06:00.000000000Z,4.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:12:00.000000000Z,4.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:18:00.000000000Z,4.82\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:24:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:30:00.000000000Z,4.859\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:36:00.000000000Z,4.987\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:42:00.000000000Z,4.984\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:48:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:54:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:00:00.000000000Z,5.016\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:06:00.000000000Z,4.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:12:00.000000000Z,5.036\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:18:00.000000000Z,5.052\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:24:00.000000000Z,5.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:30:00.000000000Z,5.121\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:36:00.000000000Z,5.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:42:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:48:00.000000000Z,5.056\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:54:00.000000000Z,4.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:00:00.000000000Z,5.01\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:06:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:12:00.000000000Z,5.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:18:00.000000000Z,5.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:24:00.000000000Z,4.98\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:30:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:36:00.000000000Z,4.977\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:42:00.000000000Z,4.954\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:48:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:54:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:00:00.000000000Z,4.869\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:06:00.000000000Z,4.829\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:12:00.000000000Z,4.846\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:18:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:24:00.000000000Z,4.708\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:30:00.000000000Z,4.652\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:36:00.000000000Z,4.534\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:42:00.000000000Z,4.452\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:48:00.000000000Z,4.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:54:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:00:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:06:00.000000000Z,4.314\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:12:00.000000000Z,4.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:18:00.000000000Z,4.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:24:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:30:00.000000000Z,3.97\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:36:00.000000000Z,3.947\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:42:00.000000000Z,3.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:48:00.000000000Z,3.796\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:54:00.000000000Z,3.684\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:00:00.000000000Z,3.606\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:06:00.000000000Z,3.596\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:12:00.000000000Z,3.55\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:18:00.000000000Z,3.422\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:24:00.000000000Z,3.268\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:30:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:36:00.000000000Z,3.189\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:42:00.000000000Z,3.146\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:48:00.000000000Z,3.123\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:54:00.000000000Z,3.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:00:00.000000000Z,2.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:06:00.000000000Z,2.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:12:00.000000000Z,2.71\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:18:00.000000000Z,2.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:24:00.000000000Z,2.562\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:30:00.000000000Z,2.549\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:36:00.000000000Z,2.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:42:00.000000000Z,2.352\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:48:00.000000000Z,2.264\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:54:00.000000000Z,2.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:00:00.000000000Z,2.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:06:00.000000000Z,1.965\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:12:00.000000000Z,2.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:18:00.000000000Z,1.959\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:24:00.000000000Z,1.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:30:00.000000000Z,1.864\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:36:00.000000000Z,1.739\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:42:00.000000000Z,1.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:48:00.000000000Z,1.722\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:54:00.000000000Z,1.621\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:00:00.000000000Z,1.594\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:06:00.000000000Z,1.545\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:12:00.000000000Z,1.526\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:18:00.000000000Z,1.457\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:24:00.000000000Z,1.414\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:30:00.000000000Z,1.355\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:36:00.000000000Z,1.355\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:42:00.000000000Z,1.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:48:00.000000000Z,1.224\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:54:00.000000000Z,1.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:00:00.000000000Z,1.257\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:06:00.000000000Z,1.188\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:12:00.000000000Z,1.296\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:18:00.000000000Z,1.181\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:24:00.000000000Z,1.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:30:00.000000000Z,1.201\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:36:00.000000000Z,1.175\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:42:00.000000000Z,1.201\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:48:00.000000000Z,1.263\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:54:00.000000000Z,1.227\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:00:00.000000000Z,1.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:06:00.000000000Z,1.253\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:12:00.000000000Z,1.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:18:00.000000000Z,1.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:24:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:30:00.000000000Z,1.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:36:00.000000000Z,1.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:42:00.000000000Z,1.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:48:00.000000000Z,1.506\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:54:00.000000000Z,1.572\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:00:00.000000000Z,1.549\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:06:00.000000000Z,1.594\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:12:00.000000000Z,1.722\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:18:00.000000000Z,1.739\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:24:00.000000000Z,1.749\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:30:00.000000000Z,1.804\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:36:00.000000000Z,1.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:42:00.000000000Z,1.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:48:00.000000000Z,2.014\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:54:00.000000000Z,2.07\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:00:00.000000000Z,2.139\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:06:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:12:00.000000000Z,2.162\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:18:00.000000000Z,2.224\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:24:00.000000000Z,2.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:30:00.000000000Z,2.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:36:00.000000000Z,2.392\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:42:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:48:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:54:00.000000000Z,2.605\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:00:00.000000000Z,2.671\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:06:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:12:00.000000000Z,2.805\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:18:00.000000000Z,2.776\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:24:00.000000000Z,2.825\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:30:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:36:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:42:00.000000000Z,3.1\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:48:00.000000000Z,3.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:54:00.000000000Z,3.133\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:00:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:06:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:12:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:18:00.000000000Z,3.34\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:24:00.000000000Z,3.333\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:30:00.000000000Z,3.35\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:36:00.000000000Z,3.412\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:42:00.000000000Z,3.432\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:48:00.000000000Z,3.383\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:54:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:00:00.000000000Z,3.442\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:06:00.000000000Z,3.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:12:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:18:00.000000000Z,3.56\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:24:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:30:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:36:00.000000000Z,3.451\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:42:00.000000000Z,3.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:48:00.000000000Z,3.504\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:54:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:00:00.000000000Z,3.547\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:06:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:12:00.000000000Z,3.573\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:18:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:24:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:30:00.000000000Z,3.599\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:36:00.000000000Z,3.527\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:42:00.000000000Z,3.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:48:00.000000000Z,3.579\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:54:00.000000000Z,3.533\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:00:00.000000000Z,3.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:06:00.000000000Z,3.517\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:12:00.000000000Z,3.481\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:18:00.000000000Z,3.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:24:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:30:00.000000000Z,3.389\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:36:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:42:00.000000000Z,3.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:48:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:54:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:00:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:06:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:12:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:18:00.000000000Z,3.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:24:00.000000000Z,3.173\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:30:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:36:00.000000000Z,3.156\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:42:00.000000000Z,3.114\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:48:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:54:00.000000000Z,3.038\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:00:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:06:00.000000000Z,3.015\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:12:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:18:00.000000000Z,2.966\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:24:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:30:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:36:00.000000000Z,2.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:42:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:48:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:54:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:00:00.000000000Z,2.913\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:06:00.000000000Z,2.884\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:12:00.000000000Z,2.953\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:18:00.000000000Z,2.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:24:00.000000000Z,2.999\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:30:00.000000000Z,2.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:36:00.000000000Z,2.828\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:42:00.000000000Z,2.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:48:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:54:00.000000000Z,3.018\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:00:00.000000000Z,2.976\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:06:00.000000000Z,2.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:12:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:18:00.000000000Z,2.881\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:24:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:30:00.000000000Z,3.117\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:36:00.000000000Z,3.12\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:42:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:48:00.000000000Z,3.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:54:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:00:00.000000000Z,3.251\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:06:00.000000000Z,3.287\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:12:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:18:00.000000000Z,3.337\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:24:00.000000000Z,3.376\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:30:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:36:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:42:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:48:00.000000000Z,3.586\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:54:00.000000000Z,3.638\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:00:00.000000000Z,3.72\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:06:00.000000000Z,3.74\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:12:00.000000000Z,3.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:18:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:24:00.000000000Z,3.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:30:00.000000000Z,4.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:36:00.000000000Z,4.062\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:42:00.000000000Z,4.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:48:00.000000000Z,4.203\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:54:00.000000000Z,4.259\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:00:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:06:00.000000000Z,4.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:12:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:18:00.000000000Z,4.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:24:00.000000000Z,4.554\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:30:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:36:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:42:00.000000000Z,4.849\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:48:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:54:00.000000000Z,4.905\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:00:00.000000000Z,4.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:06:00.000000000Z,5.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:12:00.000000000Z,5.062\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:18:00.000000000Z,5.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:24:00.000000000Z,5.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:30:00.000000000Z,5.18\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:36:00.000000000Z,5.2\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:42:00.000000000Z,5.295\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:48:00.000000000Z,5.315\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:54:00.000000000Z,5.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:00:00.000000000Z,5.285\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:06:00.000000000Z,5.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:12:00.000000000Z,5.344\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:18:00.000000000Z,5.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:24:00.000000000Z,5.42\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:30:00.000000000Z,5.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:36:00.000000000Z,5.358\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:42:00.000000000Z,5.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:48:00.000000000Z,5.449\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:54:00.000000000Z,5.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:00:00.000000000Z,5.463\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:06:00.000000000Z,5.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:12:00.000000000Z,5.479\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:18:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:24:00.000000000Z,5.325\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:30:00.000000000Z,5.387\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:36:00.000000000Z,5.299\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:42:00.000000000Z,5.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:48:00.000000000Z,5.236\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:54:00.000000000Z,5.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:00:00.000000000Z,5.171\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:06:00.000000000Z,5.098\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:12:00.000000000Z,5.059\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:18:00.000000000Z,4.964\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:24:00.000000000Z,4.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:30:00.000000000Z,4.872\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:36:00.000000000Z,4.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:42:00.000000000Z,4.777\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:48:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:54:00.000000000Z,4.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:00:00.000000000Z,4.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:06:00.000000000Z,4.432\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:12:00.000000000Z,4.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:18:00.000000000Z,4.275\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:24:00.000000000Z,4.265\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:30:00.000000000Z,4.111\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:36:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:42:00.000000000Z,3.924\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:48:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:54:00.000000000Z,3.763\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:00:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:06:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:12:00.000000000Z,3.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:18:00.000000000Z,3.333\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:24:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:30:00.000000000Z,3.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:36:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:42:00.000000000Z,2.9\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:48:00.000000000Z,2.795\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:54:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:00:00.000000000Z,2.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:06:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:12:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:18:00.000000000Z,2.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:24:00.000000000Z,2.178\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:30:00.000000000Z,2.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:36:00.000000000Z,1.978\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:42:00.000000000Z,1.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:48:00.000000000Z,1.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:54:00.000000000Z,1.752\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:00:00.000000000Z,1.66\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:06:00.000000000Z,1.572\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:12:00.000000000Z,1.424\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:18:00.000000000Z,1.437\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:24:00.000000000Z,1.375\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:30:00.000000000Z,1.289\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:36:00.000000000Z,1.161\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:42:00.000000000Z,1.138\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:48:00.000000000Z,1.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:54:00.000000000Z,1.043\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:00:00.000000000Z,0.984\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:06:00.000000000Z,0.896\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:12:00.000000000Z,0.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:18:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:24:00.000000000Z,0.81\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:30:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:36:00.000000000Z,0.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:42:00.000000000Z,0.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:48:00.000000000Z,0.676\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:54:00.000000000Z,0.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:00:00.000000000Z,0.781\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:06:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:12:00.000000000Z,0.771\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:18:00.000000000Z,0.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:24:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:30:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:36:00.000000000Z,0.837\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:42:00.000000000Z,0.784\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:48:00.000000000Z,0.755\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:54:00.000000000Z,0.794\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:00:00.000000000Z,0.899\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:06:00.000000000Z,0.997\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:12:00.000000000Z,1.02\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:18:00.000000000Z,1.037\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:24:00.000000000Z,1.093\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:30:00.000000000Z,1.132\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:36:00.000000000Z,1.188\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:42:00.000000000Z,1.234\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:48:00.000000000Z,1.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:54:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:00:00.000000000Z,1.345\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:06:00.000000000Z,1.483\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:12:00.000000000Z,1.539\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:18:00.000000000Z,1.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:24:00.000000000Z,1.631\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:30:00.000000000Z,1.729\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:36:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:42:00.000000000Z,1.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:48:00.000000000Z,1.942\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:54:00.000000000Z,2.083\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:00:00.000000000Z,2.205\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:06:00.000000000Z,2.162\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:12:00.000000000Z,2.267\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:18:00.000000000Z,2.356\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:24:00.000000000Z,2.448\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:30:00.000000000Z,2.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:36:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:42:00.000000000Z,2.7\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:48:00.000000000Z,2.756\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:54:00.000000000Z,2.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:00:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:06:00.000000000Z,2.933\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:12:00.000000000Z,2.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:18:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:24:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:30:00.000000000Z,3.32\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:36:00.000000000Z,3.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:42:00.000000000Z,3.33\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:48:00.000000000Z,3.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:54:00.000000000Z,3.504\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:00:00.000000000Z,3.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:06:00.000000000Z,3.668\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:12:00.000000000Z,3.763\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:18:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:24:00.000000000Z,3.655\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:30:00.000000000Z,3.78\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:36:00.000000000Z,3.881\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:42:00.000000000Z,3.862\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:48:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:54:00.000000000Z,3.793\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:00:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:06:00.000000000Z,3.907\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:12:00.000000000Z,3.996\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:18:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:24:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:30:00.000000000Z,3.937\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:36:00.000000000Z,4.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:42:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:48:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:54:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:00:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:06:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:12:00.000000000Z,4.065\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:18:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:24:00.000000000Z,3.973\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:30:00.000000000Z,3.868\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:36:00.000000000Z,3.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:42:00.000000000Z,3.894\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:48:00.000000000Z,3.891\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:54:00.000000000Z,3.835\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:00:00.000000000Z,3.711\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:06:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:12:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:18:00.000000000Z,3.671\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:24:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:30:00.000000000Z,3.622\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:36:00.000000000Z,3.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:42:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:48:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:54:00.000000000Z,3.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:00:00.000000000Z,3.412\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:06:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:12:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:18:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:24:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:30:00.000000000Z,3.225\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:36:00.000000000Z,3.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:42:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:48:00.000000000Z,3.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:54:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:00:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:06:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:12:00.000000000Z,2.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:18:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:24:00.000000000Z,2.851\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:30:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:36:00.000000000Z,2.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:42:00.000000000Z,2.776\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:48:00.000000000Z,2.68\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:54:00.000000000Z,2.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:00:00.000000000Z,2.651\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:06:00.000000000Z,2.746\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:12:00.000000000Z,2.789\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:18:00.000000000Z,2.762\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:24:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:30:00.000000000Z,2.687\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:36:00.000000000Z,2.69\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:42:00.000000000Z,2.71\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:48:00.000000000Z,2.785\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:54:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:00:00.000000000Z,2.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:06:00.000000000Z,2.805\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:12:00.000000000Z,2.815\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:18:00.000000000Z,2.861\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:24:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:30:00.000000000Z,2.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:36:00.000000000Z,2.904\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:42:00.000000000Z,2.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:48:00.000000000Z,3.058\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:54:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:00:00.000000000Z,3.084\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:06:00.000000000Z,3.13\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:12:00.000000000Z,3.222\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:18:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:24:00.000000000Z,3.291\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:30:00.000000000Z,3.438\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:36:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:42:00.000000000Z,3.586\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:48:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:54:00.000000000Z,3.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:00:00.000000000Z,3.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:06:00.000000000Z,3.901\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:12:00.000000000Z,3.973\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:18:00.000000000Z,3.934\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:24:00.000000000Z,4.042\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:30:00.000000000Z,4.275\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:36:00.000000000Z,4.396\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:42:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:48:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:54:00.000000000Z,4.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:00:00.000000000Z,4.564\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:06:00.000000000Z,4.741\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:12:00.000000000Z,4.829\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:18:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:24:00.000000000Z,4.885\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:30:00.000000000Z,4.931\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:36:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:42:00.000000000Z,5.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:48:00.000000000Z,5.22\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:54:00.000000000Z,5.249\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:00:00.000000000Z,5.331\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:06:00.000000000Z,5.371\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:12:00.000000000Z,5.479\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:18:00.000000000Z,5.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:24:00.000000000Z,5.61\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:30:00.000000000Z,5.617\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:36:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:42:00.000000000Z,5.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:48:00.000000000Z,5.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:54:00.000000000Z,5.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:00:00.000000000Z,5.823\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:06:00.000000000Z,5.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:12:00.000000000Z,5.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:18:00.000000000Z,5.925\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:24:00.000000000Z,5.997\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:30:00.000000000Z,6.027\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:36:00.000000000Z,5.978\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:42:00.000000000Z,5.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:48:00.000000000Z,5.955\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:54:00.000000000Z,5.915\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:00:00.000000000Z,5.961\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:06:00.000000000Z,5.958\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:12:00.000000000Z,5.906\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:18:00.000000000Z,5.886\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:24:00.000000000Z,5.866\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:30:00.000000000Z,5.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:36:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:42:00.000000000Z,5.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:48:00.000000000Z,5.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:54:00.000000000Z,5.525\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:00:00.000000000Z,5.489\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:06:00.000000000Z,5.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:12:00.000000000Z,5.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:18:00.000000000Z,5.246\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:24:00.000000000Z,5.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:30:00.000000000Z,5.105\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:36:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:42:00.000000000Z,4.908\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:48:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:54:00.000000000Z,4.751\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:00:00.000000000Z,4.656\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:06:00.000000000Z,4.547\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:12:00.000000000Z,4.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:18:00.000000000Z,4.304\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:24:00.000000000Z,4.219\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:30:00.000000000Z,4.124\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:36:00.000000000Z,4.016\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:42:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:48:00.000000000Z,3.737\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:54:00.000000000Z,3.596\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:00:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:06:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:12:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:18:00.000000000Z,3.091\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:24:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:30:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:36:00.000000000Z,2.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:42:00.000000000Z,2.579\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:48:00.000000000Z,2.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:54:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:00:00.000000000Z,2.283\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:06:00.000000000Z,2.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:12:00.000000000Z,1.962\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:18:00.000000000Z,1.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:24:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:30:00.000000000Z,1.663\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:36:00.000000000Z,1.558\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:42:00.000000000Z,1.532\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:48:00.000000000Z,1.496\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:54:00.000000000Z,1.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:00:00.000000000Z,1.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:06:00.000000000Z,1.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:12:00.000000000Z,1.073\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:18:00.000000000Z,1.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:24:00.000000000Z,0.935\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:30:00.000000000Z,0.948\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:36:00.000000000Z,0.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:42:00.000000000Z,0.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:48:00.000000000Z,0.604\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:54:00.000000000Z,0.614\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:00:00.000000000Z,0.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:06:00.000000000Z,0.531\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:12:00.000000000Z,0.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:18:00.000000000Z,0.518\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:24:00.000000000Z,0.404\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:30:00.000000000Z,0.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:36:00.000000000Z,0.397\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:42:00.000000000Z,0.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:48:00.000000000Z,0.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:54:00.000000000Z,0.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:00:00.000000000Z,0.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:06:00.000000000Z,0.443\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:12:00.000000000Z,0.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:18:00.000000000Z,0.371\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:24:00.000000000Z,0.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:30:00.000000000Z,0.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:36:00.000000000Z,0.518\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:42:00.000000000Z,0.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:48:00.000000000Z,0.663\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:54:00.000000000Z,0.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:00:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:06:00.000000000Z,0.866\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:12:00.000000000Z,0.863\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:18:00.000000000Z,0.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:24:00.000000000Z,0.951\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:30:00.000000000Z,1.079\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:36:00.000000000Z,1.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:42:00.000000000Z,1.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:48:00.000000000Z,1.309\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:54:00.000000000Z,1.411\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:00:00.000000000Z,1.522\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:06:00.000000000Z,1.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:12:00.000000000Z,1.677\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:18:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:24:00.000000000Z,1.896\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:30:00.000000000Z,2.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:36:00.000000000Z,2.103\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:42:00.000000000Z,2.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:48:00.000000000Z,2.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:54:00.000000000Z,2.388\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:00:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:06:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:12:00.000000000Z,2.661\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:18:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:24:00.000000000Z,2.812\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:30:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:36:00.000000000Z,3.048\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:42:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:48:00.000000000Z,3.235\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:54:00.000000000Z,3.31\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:00:00.000000000Z,3.32\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:06:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:12:00.000000000Z,3.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:18:00.000000000Z,3.655\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:24:00.000000000Z,3.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:30:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:36:00.000000000Z,3.852\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:42:00.000000000Z,3.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:48:00.000000000Z,3.917\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:54:00.000000000Z,4.039\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:00:00.000000000Z,4.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:06:00.000000000Z,4.134\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:12:00.000000000Z,4.144\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:18:00.000000000Z,4.183\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:24:00.000000000Z,4.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:30:00.000000000Z,4.295\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:36:00.000000000Z,4.304\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:42:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:48:00.000000000Z,4.318\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:54:00.000000000Z,4.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:00:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:06:00.000000000Z,4.354\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:12:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:18:00.000000000Z,4.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:24:00.000000000Z,4.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:30:00.000000000Z,4.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:36:00.000000000Z,4.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:42:00.000000000Z,4.377\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:48:00.000000000Z,4.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:54:00.000000000Z,4.347\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:00:00.000000000Z,4.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:06:00.000000000Z,4.321\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:12:00.000000000Z,4.298\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:18:00.000000000Z,4.219\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:24:00.000000000Z,4.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:30:00.000000000Z,4.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:36:00.000000000Z,4.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:42:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:48:00.000000000Z,3.944\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:54:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:00:00.000000000Z,3.832\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:06:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:12:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:18:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:24:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:30:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:36:00.000000000Z,3.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:42:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:48:00.000000000Z,3.366\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:54:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:00:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:06:00.000000000Z,3.241\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:12:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:18:00.000000000Z,3.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:24:00.000000000Z,3.058\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:30:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:36:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:42:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:48:00.000000000Z,2.894\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:54:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:00:00.000000000Z,2.736\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:06:00.000000000Z,2.72\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:12:00.000000000Z,2.651\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:18:00.000000000Z,2.661\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:24:00.000000000Z,2.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:30:00.000000000Z,2.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:36:00.000000000Z,2.615\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:42:00.000000000Z,2.585\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:48:00.000000000Z,2.598\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:54:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:00:00.000000000Z,2.451\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:06:00.000000000Z,2.448\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:12:00.000000000Z,2.48\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:18:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:24:00.000000000Z,2.513\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:30:00.000000000Z,2.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:36:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:42:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:48:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:54:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:00:00.000000000Z,2.618\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:06:00.000000000Z,2.697\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:12:00.000000000Z,2.766\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:18:00.000000000Z,2.831\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:24:00.000000000Z,2.766\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:30:00.000000000Z,2.795\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:36:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:42:00.000000000Z,3.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:48:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:54:00.000000000Z,3.176\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:00:00.000000000Z,3.159\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:06:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:12:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:18:00.000000000Z,3.442\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:24:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:30:00.000000000Z,3.566\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:36:00.000000000Z,3.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:42:00.000000000Z,3.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:48:00.000000000Z,3.914\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:54:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:00:00.000000000Z,3.999\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:06:00.000000000Z,4.035\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:12:00.000000000Z,4.065\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:18:00.000000000Z,4.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:24:00.000000000Z,4.419\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:30:00.000000000Z,4.531\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:36:00.000000000Z,4.623\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:42:00.000000000Z,4.633\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:48:00.000000000Z,4.731\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:54:00.000000000Z,4.928\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:00:00.000000000Z,4.951\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:06:00.000000000Z,5.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:12:00.000000000Z,5.167\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:18:00.000000000Z,5.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:24:00.000000000Z,5.433\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:30:00.000000000Z,5.548\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:36:00.000000000Z,5.659\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:42:00.000000000Z,5.564\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:48:00.000000000Z,5.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:54:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:00:00.000000000Z,5.873\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:06:00.000000000Z,6.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:12:00.000000000Z,6.053\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:18:00.000000000Z,6.119\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:24:00.000000000Z,6.043\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:30:00.000000000Z,6.076\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:36:00.000000000Z,6.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:42:00.000000000Z,6.171\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:48:00.000000000Z,6.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:54:00.000000000Z,6.312\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:00:00.000000000Z,6.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:06:00.000000000Z,6.348\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:12:00.000000000Z,6.385\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:18:00.000000000Z,6.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:24:00.000000000Z,6.352\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:30:00.000000000Z,6.404\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:36:00.000000000Z,6.358\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:42:00.000000000Z,6.335\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:48:00.000000000Z,6.365\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:54:00.000000000Z,6.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:00:00.000000000Z,6.28\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:06:00.000000000Z,6.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:12:00.000000000Z,6.168\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:18:00.000000000Z,6.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:24:00.000000000Z,6.122\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:30:00.000000000Z,6.096\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:36:00.000000000Z,5.994\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:42:00.000000000Z,5.853\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:48:00.000000000Z,5.778\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:54:00.000000000Z,5.751\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:00:00.000000000Z,5.689\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:06:00.000000000Z,5.604\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:12:00.000000000Z,5.545\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:18:00.000000000Z,5.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:24:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:30:00.000000000Z,5.24\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:36:00.000000000Z,5.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:42:00.000000000Z,4.98\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:48:00.000000000Z,4.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:54:00.000000000Z,4.685\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:00:00.000000000Z,4.593\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:06:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:12:00.000000000Z,4.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:18:00.000000000Z,4.104\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:24:00.000000000Z,3.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:30:00.000000000Z,3.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:36:00.000000000Z,3.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:42:00.000000000Z,3.54\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:48:00.000000000Z,3.376\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:54:00.000000000Z,3.212\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:00:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:06:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:12:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:18:00.000000000Z,2.703\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:24:00.000000000Z,2.523\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:30:00.000000000Z,2.336\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:36:00.000000000Z,2.208\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:42:00.000000000Z,2.113\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:48:00.000000000Z,2.044\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:54:00.000000000Z,1.88\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:00:00.000000000Z,1.732\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:06:00.000000000Z,1.578\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:12:00.000000000Z,1.46\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:18:00.000000000Z,1.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:24:00.000000000Z,1.27\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:30:00.000000000Z,1.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:36:00.000000000Z,1.01\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:42:00.000000000Z,0.902\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:48:00.000000000Z,0.768\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:54:00.000000000Z,0.702\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:00:00.000000000Z,0.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:06:00.000000000Z,0.509\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:12:00.000000000Z,0.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:18:00.000000000Z,0.351\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:24:00.000000000Z,0.331\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:30:00.000000000Z,0.318\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:36:00.000000000Z,0.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:42:00.000000000Z,0.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:48:00.000000000Z,0.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:54:00.000000000Z,0.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:00:00.000000000Z,0.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:06:00.000000000Z,0.082\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:12:00.000000000Z,-0.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:18:00.000000000Z,0.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:24:00.000000000Z,0.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:30:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:36:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:42:00.000000000Z,0.098\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:48:00.000000000Z,0.079\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:54:00.000000000Z,0.082\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:00:00.000000000Z,0.089\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:06:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:12:00.000000000Z,0.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:18:00.000000000Z,0.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:24:00.000000000Z,0.207\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:30:00.000000000Z,0.338\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:36:00.000000000Z,0.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:42:00.000000000Z,0.43\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:48:00.000000000Z,0.456\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:54:00.000000000Z,0.489\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:00:00.000000000Z,0.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:06:00.000000000Z,0.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:12:00.000000000Z,0.912\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:18:00.000000000Z,0.955\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:24:00.000000000Z,1.05\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:30:00.000000000Z,1.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:36:00.000000000Z,1.25\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:42:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:48:00.000000000Z,1.457\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:54:00.000000000Z,1.66\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:00:00.000000000Z,1.755\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:06:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:12:00.000000000Z,2.001\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:18:00.000000000Z,2.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:24:00.000000000Z,2.244\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:30:00.000000000Z,2.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:36:00.000000000Z,2.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:42:00.000000000Z,2.552\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:48:00.000000000Z,2.687\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:54:00.000000000Z,2.802\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:00:00.000000000Z,2.959\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:06:00.000000000Z,3.117\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:12:00.000000000Z,3.228\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:18:00.000000000Z,3.294\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:24:00.000000000Z,3.373\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:30:00.000000000Z,3.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:36:00.000000000Z,3.537\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:42:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:48:00.000000000Z,3.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:54:00.000000000Z,3.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:00:00.000000000Z,4.006\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:06:00.000000000Z,4.085\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:12:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:18:00.000000000Z,4.239\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:24:00.000000000Z,4.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:30:00.000000000Z,4.4\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:36:00.000000000Z,4.537\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:42:00.000000000Z,4.629\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:48:00.000000000Z,4.619\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:54:00.000000000Z,4.626\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:00:00.000000000Z,4.633\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:06:00.000000000Z,4.731\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:12:00.000000000Z,4.764\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:18:00.000000000Z,4.77\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:24:00.000000000Z,4.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:30:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:36:00.000000000Z,4.836\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:42:00.000000000Z,4.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:48:00.000000000Z,4.895\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:54:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:00:00.000000000Z,4.78\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:06:00.000000000Z,4.793\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:12:00.000000000Z,4.77\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:18:00.000000000Z,4.803\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:24:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:30:00.000000000Z,4.738\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:36:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:42:00.000000000Z,4.58\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:48:00.000000000Z,4.567\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:54:00.000000000Z,4.505\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:00:00.000000000Z,4.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:06:00.000000000Z,4.38\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:12:00.000000000Z,4.324\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:18:00.000000000Z,4.321\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:24:00.000000000Z,4.14\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:30:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:36:00.000000000Z,4.055\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:42:00.000000000Z,3.96\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:48:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:54:00.000000000Z,3.832\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:00:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:06:00.000000000Z,3.668\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:12:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:18:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:24:00.000000000Z,3.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:30:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:36:00.000000000Z,3.34\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:42:00.000000000Z,3.271\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:48:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:54:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:00:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:06:00.000000000Z,2.933\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:12:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:18:00.000000000Z,2.769\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:24:00.000000000Z,2.68\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:30:00.000000000Z,2.631\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:36:00.000000000Z,2.566\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:42:00.000000000Z,2.53\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:48:00.000000000Z,2.536\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:54:00.000000000Z,2.5\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:00:00.000000000Z,2.392\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:06:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:12:00.000000000Z,2.28\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:18:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:24:00.000000000Z,2.251\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:30:00.000000000Z,2.172\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:36:00.000000000Z,2.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:42:00.000000000Z,2.221\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:48:00.000000000Z,2.195\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:54:00.000000000Z,2.165\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:00:00.000000000Z,2.096\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:06:00.000000000Z,2.139\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:12:00.000000000Z,2.211\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:18:00.000000000Z,2.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:24:00.000000000Z,2.306\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:30:00.000000000Z,2.31\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:36:00.000000000Z,2.29\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:42:00.000000000Z,2.3\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:48:00.000000000Z,2.375\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:54:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:00:00.000000000Z,2.52\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:06:00.000000000Z,2.48\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:12:00.000000000Z,2.513\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:18:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:24:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:30:00.000000000Z,2.808\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:36:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:42:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:48:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:54:00.000000000Z,3.12\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:00:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:06:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:12:00.000000000Z,3.406\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:18:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:24:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:30:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:36:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:42:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:48:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:54:00.000000000Z,4.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:00:00.000000000Z,4.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:06:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:12:00.000000000Z,4.475\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:18:00.000000000Z,4.646\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:24:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:30:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:36:00.000000000Z,5.026\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:42:00.000000000Z,5.18\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:48:00.000000000Z,5.246\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:54:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:00:00.000000000Z,5.427\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:06:00.000000000Z,5.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:12:00.000000000Z,5.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:18:00.000000000Z,5.817\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:24:00.000000000Z,5.879\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:30:00.000000000Z,5.991\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:36:00.000000000Z,6.024\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:42:00.000000000Z,6.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:48:00.000000000Z,6.296\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:54:00.000000000Z,6.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:00:00.000000000Z,6.437\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:06:00.000000000Z,6.499\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:12:00.000000000Z,6.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:18:00.000000000Z,6.69\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:24:00.000000000Z,6.621\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:30:00.000000000Z,6.65\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:36:00.000000000Z,6.749\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:42:00.000000000Z,6.788\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:48:00.000000000Z,6.818\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:54:00.000000000Z,6.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T03:00:00.000000000Z,6.9\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:12:00.000000000Z,4.948\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:18:00.000000000Z,4.895\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:24:00.000000000Z,4.849\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:30:00.000000000Z,4.918\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:36:00.000000000Z,4.918\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:42:00.000000000Z,4.915\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:48:00.000000000Z,4.908\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T22:54:00.000000000Z,4.898\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:00:00.000000000Z,4.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:06:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:12:00.000000000Z,4.859\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:18:00.000000000Z,4.843\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:24:00.000000000Z,4.82\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:30:00.000000000Z,4.8\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:36:00.000000000Z,4.774\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:42:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:48:00.000000000Z,4.767\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-22T23:54:00.000000000Z,4.708\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:00:00.000000000Z,4.669\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:06:00.000000000Z,4.626\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:12:00.000000000Z,4.619\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:18:00.000000000Z,4.557\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:24:00.000000000Z,4.498\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:30:00.000000000Z,4.462\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:36:00.000000000Z,4.406\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:42:00.000000000Z,4.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:48:00.000000000Z,4.373\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T00:54:00.000000000Z,4.298\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:00:00.000000000Z,4.167\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:06:00.000000000Z,4.137\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:12:00.000000000Z,4.108\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:18:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:24:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:30:00.000000000Z,3.94\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:36:00.000000000Z,3.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:42:00.000000000Z,3.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:48:00.000000000Z,3.773\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T01:54:00.000000000Z,3.852\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:00:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:06:00.000000000Z,3.609\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:12:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:18:00.000000000Z,3.399\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:24:00.000000000Z,3.425\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:30:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:36:00.000000000Z,3.268\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:42:00.000000000Z,3.212\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:48:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T02:54:00.000000000Z,3.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:00:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:06:00.000000000Z,3.018\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:12:00.000000000Z,2.897\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:18:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:24:00.000000000Z,2.808\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:30:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:36:00.000000000Z,2.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:42:00.000000000Z,2.618\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:48:00.000000000Z,2.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T03:54:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:00:00.000000000Z,2.418\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:06:00.000000000Z,2.385\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:12:00.000000000Z,2.323\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:18:00.000000000Z,2.343\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:24:00.000000000Z,2.3\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:30:00.000000000Z,2.257\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:36:00.000000000Z,2.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:42:00.000000000Z,2.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:48:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T04:54:00.000000000Z,2.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:00:00.000000000Z,2.103\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:06:00.000000000Z,2.123\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:12:00.000000000Z,2.024\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:18:00.000000000Z,1.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:24:00.000000000Z,1.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:30:00.000000000Z,1.942\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:36:00.000000000Z,1.87\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:42:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:48:00.000000000Z,1.873\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T05:54:00.000000000Z,1.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:00:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:06:00.000000000Z,1.883\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:12:00.000000000Z,1.834\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:18:00.000000000Z,1.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:24:00.000000000Z,1.765\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:30:00.000000000Z,1.759\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:36:00.000000000Z,1.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:42:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:48:00.000000000Z,1.804\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T06:54:00.000000000Z,1.834\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:00:00.000000000Z,1.87\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:06:00.000000000Z,1.788\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:12:00.000000000Z,1.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:18:00.000000000Z,1.952\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:24:00.000000000Z,1.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:30:00.000000000Z,1.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:36:00.000000000Z,1.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:42:00.000000000Z,2.001\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:48:00.000000000Z,2.021\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T07:54:00.000000000Z,2.008\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:00:00.000000000Z,2.067\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:06:00.000000000Z,2.1\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:12:00.000000000Z,2.09\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:18:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:24:00.000000000Z,2.264\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:30:00.000000000Z,2.231\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:36:00.000000000Z,2.211\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:42:00.000000000Z,2.356\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:48:00.000000000Z,2.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T08:54:00.000000000Z,2.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:00:00.000000000Z,2.411\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:06:00.000000000Z,2.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:12:00.000000000Z,2.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:18:00.000000000Z,2.562\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:24:00.000000000Z,2.585\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:30:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:36:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:42:00.000000000Z,2.654\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:48:00.000000000Z,2.667\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T09:54:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:00:00.000000000Z,2.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:06:00.000000000Z,2.917\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:12:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:18:00.000000000Z,2.785\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:24:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:30:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:36:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:42:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:48:00.000000000Z,3.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T10:54:00.000000000Z,3.035\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:00:00.000000000Z,3.084\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:06:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:12:00.000000000Z,3.166\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:18:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:24:00.000000000Z,3.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:30:00.000000000Z,3.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:36:00.000000000Z,3.287\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:42:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:48:00.000000000Z,3.225\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T11:54:00.000000000Z,3.343\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:00:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:06:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:12:00.000000000Z,3.33\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:18:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:24:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:30:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:36:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:42:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:48:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T12:54:00.000000000Z,3.291\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:00:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:06:00.000000000Z,3.35\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:12:00.000000000Z,3.261\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:18:00.000000000Z,3.281\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:24:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:30:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:36:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:42:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:48:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T13:54:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:00:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:06:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:12:00.000000000Z,3.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:18:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:24:00.000000000Z,3.192\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:30:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:36:00.000000000Z,3.196\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:42:00.000000000Z,3.176\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:48:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T14:54:00.000000000Z,3.146\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:00:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:06:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:12:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:18:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:24:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:30:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:36:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:42:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:48:00.000000000Z,2.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T15:54:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:00:00.000000000Z,2.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:06:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:12:00.000000000Z,2.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:18:00.000000000Z,2.848\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:24:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:30:00.000000000Z,2.907\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:36:00.000000000Z,2.927\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:42:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:48:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T16:54:00.000000000Z,2.966\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:00:00.000000000Z,2.982\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:06:00.000000000Z,2.897\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:12:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:18:00.000000000Z,2.953\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:24:00.000000000Z,2.9\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:30:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:36:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:42:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:48:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T17:54:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:00:00.000000000Z,3.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:06:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:12:00.000000000Z,3.107\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:18:00.000000000Z,3.14\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:24:00.000000000Z,3.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:30:00.000000000Z,3.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:36:00.000000000Z,3.173\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:42:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:48:00.000000000Z,3.241\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T18:54:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:00:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:06:00.000000000Z,3.317\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:12:00.000000000Z,3.36\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:18:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:24:00.000000000Z,3.471\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:30:00.000000000Z,3.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:36:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:42:00.000000000Z,3.53\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:48:00.000000000Z,3.602\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T19:54:00.000000000Z,3.625\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:00:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:06:00.000000000Z,3.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:12:00.000000000Z,3.743\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:18:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:24:00.000000000Z,3.947\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:30:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:36:00.000000000Z,3.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:42:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:48:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T20:54:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:00:00.000000000Z,4.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:06:00.000000000Z,4.252\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:12:00.000000000Z,4.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:18:00.000000000Z,4.344\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:24:00.000000000Z,4.449\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:30:00.000000000Z,4.541\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:36:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:42:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:48:00.000000000Z,4.613\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T21:54:00.000000000Z,4.613\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:00:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:06:00.000000000Z,4.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:12:00.000000000Z,4.757\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:18:00.000000000Z,4.82\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:24:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:30:00.000000000Z,4.859\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:36:00.000000000Z,4.987\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:42:00.000000000Z,4.984\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:48:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T22:54:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:00:00.000000000Z,5.016\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:06:00.000000000Z,4.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:12:00.000000000Z,5.036\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:18:00.000000000Z,5.052\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:24:00.000000000Z,5.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:30:00.000000000Z,5.121\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:36:00.000000000Z,5.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:42:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:48:00.000000000Z,5.056\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-23T23:54:00.000000000Z,4.957\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:00:00.000000000Z,5.01\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:06:00.000000000Z,5.046\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:12:00.000000000Z,5.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:18:00.000000000Z,5.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:24:00.000000000Z,4.98\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:30:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:36:00.000000000Z,4.977\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:42:00.000000000Z,4.954\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:48:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T00:54:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:00:00.000000000Z,4.869\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:06:00.000000000Z,4.829\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:12:00.000000000Z,4.846\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:18:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:24:00.000000000Z,4.708\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:30:00.000000000Z,4.652\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:36:00.000000000Z,4.534\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:42:00.000000000Z,4.452\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:48:00.000000000Z,4.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T01:54:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:00:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:06:00.000000000Z,4.314\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:12:00.000000000Z,4.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:18:00.000000000Z,4.094\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:24:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:30:00.000000000Z,3.97\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:36:00.000000000Z,3.947\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:42:00.000000000Z,3.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:48:00.000000000Z,3.796\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T02:54:00.000000000Z,3.684\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:00:00.000000000Z,3.606\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:06:00.000000000Z,3.596\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:12:00.000000000Z,3.55\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:18:00.000000000Z,3.422\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:24:00.000000000Z,3.268\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:30:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:36:00.000000000Z,3.189\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:42:00.000000000Z,3.146\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:48:00.000000000Z,3.123\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T03:54:00.000000000Z,3.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:00:00.000000000Z,2.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:06:00.000000000Z,2.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:12:00.000000000Z,2.71\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:18:00.000000000Z,2.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:24:00.000000000Z,2.562\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:30:00.000000000Z,2.549\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:36:00.000000000Z,2.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:42:00.000000000Z,2.352\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:48:00.000000000Z,2.264\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T04:54:00.000000000Z,2.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:00:00.000000000Z,2.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:06:00.000000000Z,1.965\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:12:00.000000000Z,2.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:18:00.000000000Z,1.959\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:24:00.000000000Z,1.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:30:00.000000000Z,1.864\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:36:00.000000000Z,1.739\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:42:00.000000000Z,1.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:48:00.000000000Z,1.722\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T05:54:00.000000000Z,1.621\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:00:00.000000000Z,1.594\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:06:00.000000000Z,1.545\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:12:00.000000000Z,1.526\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:18:00.000000000Z,1.457\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:24:00.000000000Z,1.414\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:30:00.000000000Z,1.355\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:36:00.000000000Z,1.355\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:42:00.000000000Z,1.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:48:00.000000000Z,1.224\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T06:54:00.000000000Z,1.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:00:00.000000000Z,1.257\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:06:00.000000000Z,1.188\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:12:00.000000000Z,1.296\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:18:00.000000000Z,1.181\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:24:00.000000000Z,1.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:30:00.000000000Z,1.201\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:36:00.000000000Z,1.175\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:42:00.000000000Z,1.201\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:48:00.000000000Z,1.263\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T07:54:00.000000000Z,1.227\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:00:00.000000000Z,1.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:06:00.000000000Z,1.253\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:12:00.000000000Z,1.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:18:00.000000000Z,1.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:24:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:30:00.000000000Z,1.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:36:00.000000000Z,1.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:42:00.000000000Z,1.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:48:00.000000000Z,1.506\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T08:54:00.000000000Z,1.572\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:00:00.000000000Z,1.549\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:06:00.000000000Z,1.594\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:12:00.000000000Z,1.722\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:18:00.000000000Z,1.739\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:24:00.000000000Z,1.749\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:30:00.000000000Z,1.804\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:36:00.000000000Z,1.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:42:00.000000000Z,1.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:48:00.000000000Z,2.014\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T09:54:00.000000000Z,2.07\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:00:00.000000000Z,2.139\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:06:00.000000000Z,2.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:12:00.000000000Z,2.162\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:18:00.000000000Z,2.224\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:24:00.000000000Z,2.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:30:00.000000000Z,2.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:36:00.000000000Z,2.392\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:42:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:48:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T10:54:00.000000000Z,2.605\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:00:00.000000000Z,2.671\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:06:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:12:00.000000000Z,2.805\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:18:00.000000000Z,2.776\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:24:00.000000000Z,2.825\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:30:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:36:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:42:00.000000000Z,3.1\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:48:00.000000000Z,3.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T11:54:00.000000000Z,3.133\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:00:00.000000000Z,3.136\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:06:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:12:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:18:00.000000000Z,3.34\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:24:00.000000000Z,3.333\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:30:00.000000000Z,3.35\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:36:00.000000000Z,3.412\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:42:00.000000000Z,3.432\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:48:00.000000000Z,3.383\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T12:54:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:00:00.000000000Z,3.442\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:06:00.000000000Z,3.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:12:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:18:00.000000000Z,3.56\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:24:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:30:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:36:00.000000000Z,3.451\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:42:00.000000000Z,3.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:48:00.000000000Z,3.504\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T13:54:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:00:00.000000000Z,3.547\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:06:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:12:00.000000000Z,3.573\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:18:00.000000000Z,3.553\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:24:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:30:00.000000000Z,3.599\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:36:00.000000000Z,3.527\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:42:00.000000000Z,3.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:48:00.000000000Z,3.579\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T14:54:00.000000000Z,3.533\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:00:00.000000000Z,3.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:06:00.000000000Z,3.517\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:12:00.000000000Z,3.481\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:18:00.000000000Z,3.51\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:24:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:30:00.000000000Z,3.389\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:36:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:42:00.000000000Z,3.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:48:00.000000000Z,3.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T15:54:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:00:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:06:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:12:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:18:00.000000000Z,3.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:24:00.000000000Z,3.173\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:30:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:36:00.000000000Z,3.156\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:42:00.000000000Z,3.114\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:48:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T16:54:00.000000000Z,3.038\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:00:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:06:00.000000000Z,3.015\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:12:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:18:00.000000000Z,2.966\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:24:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:30:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:36:00.000000000Z,2.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:42:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:48:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T17:54:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:00:00.000000000Z,2.913\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:06:00.000000000Z,2.884\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:12:00.000000000Z,2.953\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:18:00.000000000Z,2.969\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:24:00.000000000Z,2.999\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:30:00.000000000Z,2.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:36:00.000000000Z,2.828\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:42:00.000000000Z,2.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:48:00.000000000Z,2.992\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T18:54:00.000000000Z,3.018\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:00:00.000000000Z,2.976\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:06:00.000000000Z,2.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:12:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:18:00.000000000Z,2.881\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:24:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:30:00.000000000Z,3.117\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:36:00.000000000Z,3.12\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:42:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:48:00.000000000Z,3.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T19:54:00.000000000Z,3.209\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:00:00.000000000Z,3.251\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:06:00.000000000Z,3.287\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:12:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:18:00.000000000Z,3.337\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:24:00.000000000Z,3.376\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:30:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:36:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:42:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:48:00.000000000Z,3.586\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T20:54:00.000000000Z,3.638\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:00:00.000000000Z,3.72\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:06:00.000000000Z,3.74\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:12:00.000000000Z,3.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:18:00.000000000Z,3.888\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:24:00.000000000Z,3.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:30:00.000000000Z,4.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:36:00.000000000Z,4.062\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:42:00.000000000Z,4.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:48:00.000000000Z,4.203\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T21:54:00.000000000Z,4.259\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:00:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:06:00.000000000Z,4.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:12:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:18:00.000000000Z,4.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:24:00.000000000Z,4.554\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:30:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:36:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:42:00.000000000Z,4.849\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:48:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T22:54:00.000000000Z,4.905\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:00:00.000000000Z,4.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:06:00.000000000Z,5.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:12:00.000000000Z,5.062\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:18:00.000000000Z,5.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:24:00.000000000Z,5.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:30:00.000000000Z,5.18\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:36:00.000000000Z,5.2\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:42:00.000000000Z,5.295\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:48:00.000000000Z,5.315\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-24T23:54:00.000000000Z,5.226\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:00:00.000000000Z,5.285\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:06:00.000000000Z,5.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:12:00.000000000Z,5.344\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:18:00.000000000Z,5.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:24:00.000000000Z,5.42\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:30:00.000000000Z,5.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:36:00.000000000Z,5.358\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:42:00.000000000Z,5.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:48:00.000000000Z,5.449\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T00:54:00.000000000Z,5.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:00:00.000000000Z,5.463\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:06:00.000000000Z,5.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:12:00.000000000Z,5.479\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:18:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:24:00.000000000Z,5.325\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:30:00.000000000Z,5.387\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:36:00.000000000Z,5.299\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:42:00.000000000Z,5.302\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:48:00.000000000Z,5.236\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T01:54:00.000000000Z,5.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:00:00.000000000Z,5.171\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:06:00.000000000Z,5.098\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:12:00.000000000Z,5.059\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:18:00.000000000Z,4.964\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:24:00.000000000Z,4.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:30:00.000000000Z,4.872\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:36:00.000000000Z,4.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:42:00.000000000Z,4.777\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:48:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T02:54:00.000000000Z,4.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:00:00.000000000Z,4.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:06:00.000000000Z,4.432\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:12:00.000000000Z,4.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:18:00.000000000Z,4.275\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:24:00.000000000Z,4.265\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:30:00.000000000Z,4.111\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:36:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:42:00.000000000Z,3.924\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:48:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T03:54:00.000000000Z,3.763\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:00:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:06:00.000000000Z,3.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:12:00.000000000Z,3.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:18:00.000000000Z,3.333\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:24:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:30:00.000000000Z,3.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:36:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:42:00.000000000Z,2.9\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:48:00.000000000Z,2.795\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T04:54:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:00:00.000000000Z,2.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:06:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:12:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:18:00.000000000Z,2.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:24:00.000000000Z,2.178\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:30:00.000000000Z,2.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:36:00.000000000Z,1.978\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:42:00.000000000Z,1.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:48:00.000000000Z,1.867\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T05:54:00.000000000Z,1.752\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:00:00.000000000Z,1.66\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:06:00.000000000Z,1.572\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:12:00.000000000Z,1.424\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:18:00.000000000Z,1.437\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:24:00.000000000Z,1.375\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:30:00.000000000Z,1.289\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:36:00.000000000Z,1.161\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:42:00.000000000Z,1.138\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:48:00.000000000Z,1.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T06:54:00.000000000Z,1.043\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:00:00.000000000Z,0.984\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:06:00.000000000Z,0.896\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:12:00.000000000Z,0.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:18:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:24:00.000000000Z,0.81\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:30:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:36:00.000000000Z,0.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:42:00.000000000Z,0.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:48:00.000000000Z,0.676\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T07:54:00.000000000Z,0.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:00:00.000000000Z,0.781\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:06:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:12:00.000000000Z,0.771\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:18:00.000000000Z,0.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:24:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:30:00.000000000Z,0.807\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:36:00.000000000Z,0.837\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:42:00.000000000Z,0.784\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:48:00.000000000Z,0.755\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T08:54:00.000000000Z,0.794\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:00:00.000000000Z,0.899\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:06:00.000000000Z,0.997\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:12:00.000000000Z,1.02\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:18:00.000000000Z,1.037\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:24:00.000000000Z,1.093\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:30:00.000000000Z,1.132\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:36:00.000000000Z,1.188\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:42:00.000000000Z,1.234\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:48:00.000000000Z,1.362\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T09:54:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:00:00.000000000Z,1.345\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:06:00.000000000Z,1.483\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:12:00.000000000Z,1.539\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:18:00.000000000Z,1.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:24:00.000000000Z,1.631\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:30:00.000000000Z,1.729\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:36:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:42:00.000000000Z,1.877\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:48:00.000000000Z,1.942\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T10:54:00.000000000Z,2.083\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:00:00.000000000Z,2.205\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:06:00.000000000Z,2.162\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:12:00.000000000Z,2.267\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:18:00.000000000Z,2.356\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:24:00.000000000Z,2.448\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:30:00.000000000Z,2.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:36:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:42:00.000000000Z,2.7\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:48:00.000000000Z,2.756\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T11:54:00.000000000Z,2.841\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:00:00.000000000Z,2.972\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:06:00.000000000Z,2.933\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:12:00.000000000Z,2.949\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:18:00.000000000Z,3.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:24:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:30:00.000000000Z,3.32\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:36:00.000000000Z,3.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:42:00.000000000Z,3.33\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:48:00.000000000Z,3.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T12:54:00.000000000Z,3.504\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:00:00.000000000Z,3.514\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:06:00.000000000Z,3.668\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:12:00.000000000Z,3.763\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:18:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:24:00.000000000Z,3.655\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:30:00.000000000Z,3.78\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:36:00.000000000Z,3.881\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:42:00.000000000Z,3.862\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:48:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T13:54:00.000000000Z,3.793\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:00:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:06:00.000000000Z,3.907\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:12:00.000000000Z,3.996\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:18:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:24:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:30:00.000000000Z,3.937\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:36:00.000000000Z,4.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:42:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:48:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T14:54:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:00:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:06:00.000000000Z,4.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:12:00.000000000Z,4.065\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:18:00.000000000Z,3.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:24:00.000000000Z,3.973\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:30:00.000000000Z,3.868\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:36:00.000000000Z,3.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:42:00.000000000Z,3.894\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:48:00.000000000Z,3.891\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T15:54:00.000000000Z,3.835\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:00:00.000000000Z,3.711\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:06:00.000000000Z,3.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:12:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:18:00.000000000Z,3.671\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:24:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:30:00.000000000Z,3.622\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:36:00.000000000Z,3.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:42:00.000000000Z,3.474\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:48:00.000000000Z,3.524\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T16:54:00.000000000Z,3.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:00:00.000000000Z,3.412\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:06:00.000000000Z,3.284\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:12:00.000000000Z,3.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:18:00.000000000Z,3.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:24:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:30:00.000000000Z,3.225\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:36:00.000000000Z,3.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:42:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:48:00.000000000Z,3.012\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T17:54:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:00:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:06:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:12:00.000000000Z,2.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:18:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:24:00.000000000Z,2.851\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:30:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:36:00.000000000Z,2.871\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:42:00.000000000Z,2.776\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:48:00.000000000Z,2.68\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T18:54:00.000000000Z,2.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:00:00.000000000Z,2.651\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:06:00.000000000Z,2.746\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:12:00.000000000Z,2.789\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:18:00.000000000Z,2.762\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:24:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:30:00.000000000Z,2.687\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:36:00.000000000Z,2.69\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:42:00.000000000Z,2.71\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:48:00.000000000Z,2.785\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T19:54:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:00:00.000000000Z,2.844\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:06:00.000000000Z,2.805\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:12:00.000000000Z,2.815\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:18:00.000000000Z,2.861\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:24:00.000000000Z,2.92\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:30:00.000000000Z,2.936\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:36:00.000000000Z,2.904\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:42:00.000000000Z,2.986\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:48:00.000000000Z,3.058\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T20:54:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:00:00.000000000Z,3.084\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:06:00.000000000Z,3.13\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:12:00.000000000Z,3.222\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:18:00.000000000Z,3.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:24:00.000000000Z,3.291\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:30:00.000000000Z,3.438\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:36:00.000000000Z,3.563\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:42:00.000000000Z,3.586\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:48:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T21:54:00.000000000Z,3.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:00:00.000000000Z,3.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:06:00.000000000Z,3.901\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:12:00.000000000Z,3.973\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:18:00.000000000Z,3.934\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:24:00.000000000Z,4.042\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:30:00.000000000Z,4.275\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:36:00.000000000Z,4.396\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:42:00.000000000Z,4.446\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:48:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T22:54:00.000000000Z,4.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:00:00.000000000Z,4.564\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:06:00.000000000Z,4.741\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:12:00.000000000Z,4.829\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:18:00.000000000Z,4.856\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:24:00.000000000Z,4.885\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:30:00.000000000Z,4.931\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:36:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:42:00.000000000Z,5.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:48:00.000000000Z,5.22\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-25T23:54:00.000000000Z,5.249\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:00:00.000000000Z,5.331\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:06:00.000000000Z,5.371\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:12:00.000000000Z,5.479\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:18:00.000000000Z,5.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:24:00.000000000Z,5.61\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:30:00.000000000Z,5.617\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:36:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:42:00.000000000Z,5.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:48:00.000000000Z,5.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T00:54:00.000000000Z,5.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:00:00.000000000Z,5.823\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:06:00.000000000Z,5.86\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:12:00.000000000Z,5.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:18:00.000000000Z,5.925\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:24:00.000000000Z,5.997\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:30:00.000000000Z,6.027\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:36:00.000000000Z,5.978\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:42:00.000000000Z,5.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:48:00.000000000Z,5.955\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T01:54:00.000000000Z,5.915\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:00:00.000000000Z,5.961\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:06:00.000000000Z,5.958\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:12:00.000000000Z,5.906\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:18:00.000000000Z,5.886\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:24:00.000000000Z,5.866\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:30:00.000000000Z,5.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:36:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:42:00.000000000Z,5.712\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:48:00.000000000Z,5.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T02:54:00.000000000Z,5.525\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:00:00.000000000Z,5.489\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:06:00.000000000Z,5.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:12:00.000000000Z,5.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:18:00.000000000Z,5.246\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:24:00.000000000Z,5.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:30:00.000000000Z,5.105\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:36:00.000000000Z,5.023\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:42:00.000000000Z,4.908\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:48:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T03:54:00.000000000Z,4.751\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:00:00.000000000Z,4.656\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:06:00.000000000Z,4.547\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:12:00.000000000Z,4.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:18:00.000000000Z,4.304\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:24:00.000000000Z,4.219\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:30:00.000000000Z,4.124\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:36:00.000000000Z,4.016\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:42:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:48:00.000000000Z,3.737\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T04:54:00.000000000Z,3.596\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:00:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:06:00.000000000Z,3.353\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:12:00.000000000Z,3.238\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:18:00.000000000Z,3.091\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:24:00.000000000Z,3.041\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:30:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:36:00.000000000Z,2.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:42:00.000000000Z,2.579\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:48:00.000000000Z,2.461\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T05:54:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:00:00.000000000Z,2.283\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:06:00.000000000Z,2.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:12:00.000000000Z,1.962\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:18:00.000000000Z,1.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:24:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:30:00.000000000Z,1.663\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:36:00.000000000Z,1.558\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:42:00.000000000Z,1.532\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:48:00.000000000Z,1.496\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T06:54:00.000000000Z,1.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:00:00.000000000Z,1.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:06:00.000000000Z,1.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:12:00.000000000Z,1.073\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:18:00.000000000Z,1.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:24:00.000000000Z,0.935\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:30:00.000000000Z,0.948\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:36:00.000000000Z,0.758\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:42:00.000000000Z,0.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:48:00.000000000Z,0.604\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T07:54:00.000000000Z,0.614\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:00:00.000000000Z,0.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:06:00.000000000Z,0.531\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:12:00.000000000Z,0.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:18:00.000000000Z,0.518\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:24:00.000000000Z,0.404\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:30:00.000000000Z,0.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:36:00.000000000Z,0.397\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:42:00.000000000Z,0.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:48:00.000000000Z,0.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T08:54:00.000000000Z,0.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:00:00.000000000Z,0.413\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:06:00.000000000Z,0.443\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:12:00.000000000Z,0.39\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:18:00.000000000Z,0.371\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:24:00.000000000Z,0.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:30:00.000000000Z,0.495\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:36:00.000000000Z,0.518\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:42:00.000000000Z,0.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:48:00.000000000Z,0.663\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T09:54:00.000000000Z,0.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:00:00.000000000Z,0.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:06:00.000000000Z,0.866\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:12:00.000000000Z,0.863\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:18:00.000000000Z,0.909\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:24:00.000000000Z,0.951\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:30:00.000000000Z,1.079\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:36:00.000000000Z,1.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:42:00.000000000Z,1.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:48:00.000000000Z,1.309\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T10:54:00.000000000Z,1.411\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:00:00.000000000Z,1.522\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:06:00.000000000Z,1.568\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:12:00.000000000Z,1.677\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:18:00.000000000Z,1.854\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:24:00.000000000Z,1.896\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:30:00.000000000Z,2.028\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:36:00.000000000Z,2.103\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:42:00.000000000Z,2.182\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:48:00.000000000Z,2.346\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T11:54:00.000000000Z,2.388\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:00:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:06:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:12:00.000000000Z,2.661\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:18:00.000000000Z,2.73\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:24:00.000000000Z,2.812\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:30:00.000000000Z,2.995\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:36:00.000000000Z,3.048\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:42:00.000000000Z,3.15\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:48:00.000000000Z,3.235\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T12:54:00.000000000Z,3.31\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:00:00.000000000Z,3.32\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:06:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:12:00.000000000Z,3.556\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:18:00.000000000Z,3.655\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:24:00.000000000Z,3.707\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:30:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:36:00.000000000Z,3.852\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:42:00.000000000Z,3.911\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:48:00.000000000Z,3.917\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T13:54:00.000000000Z,4.039\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:00:00.000000000Z,4.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:06:00.000000000Z,4.134\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:12:00.000000000Z,4.144\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:18:00.000000000Z,4.183\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:24:00.000000000Z,4.232\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:30:00.000000000Z,4.295\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:36:00.000000000Z,4.304\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:42:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:48:00.000000000Z,4.318\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T14:54:00.000000000Z,4.367\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:00:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:06:00.000000000Z,4.354\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:12:00.000000000Z,4.357\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:18:00.000000000Z,4.455\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:24:00.000000000Z,4.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:30:00.000000000Z,4.459\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:36:00.000000000Z,4.436\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:42:00.000000000Z,4.377\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:48:00.000000000Z,4.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T15:54:00.000000000Z,4.347\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:00:00.000000000Z,4.364\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:06:00.000000000Z,4.321\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:12:00.000000000Z,4.298\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:18:00.000000000Z,4.219\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:24:00.000000000Z,4.127\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:30:00.000000000Z,4.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:36:00.000000000Z,4.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:42:00.000000000Z,4.029\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:48:00.000000000Z,3.944\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T16:54:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:00:00.000000000Z,3.832\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:06:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:12:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:18:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:24:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:30:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:36:00.000000000Z,3.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:42:00.000000000Z,3.458\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:48:00.000000000Z,3.366\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T17:54:00.000000000Z,3.297\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:00:00.000000000Z,3.278\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:06:00.000000000Z,3.241\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:12:00.000000000Z,3.169\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:18:00.000000000Z,3.068\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:24:00.000000000Z,3.058\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:30:00.000000000Z,2.946\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:36:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:42:00.000000000Z,2.943\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:48:00.000000000Z,2.894\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T18:54:00.000000000Z,2.838\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:00:00.000000000Z,2.736\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:06:00.000000000Z,2.72\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:12:00.000000000Z,2.651\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:18:00.000000000Z,2.661\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:24:00.000000000Z,2.635\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:30:00.000000000Z,2.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:36:00.000000000Z,2.615\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:42:00.000000000Z,2.585\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:48:00.000000000Z,2.598\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T19:54:00.000000000Z,2.582\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:00:00.000000000Z,2.451\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:06:00.000000000Z,2.448\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:12:00.000000000Z,2.48\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:18:00.000000000Z,2.503\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:24:00.000000000Z,2.513\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:30:00.000000000Z,2.543\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:36:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:42:00.000000000Z,2.497\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:48:00.000000000Z,2.47\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T20:54:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:00:00.000000000Z,2.618\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:06:00.000000000Z,2.697\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:12:00.000000000Z,2.766\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:18:00.000000000Z,2.831\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:24:00.000000000Z,2.766\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:30:00.000000000Z,2.795\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:36:00.000000000Z,2.923\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:42:00.000000000Z,3.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:48:00.000000000Z,3.077\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T21:54:00.000000000Z,3.176\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:00:00.000000000Z,3.159\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:06:00.000000000Z,3.255\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:12:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:18:00.000000000Z,3.442\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:24:00.000000000Z,3.478\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:30:00.000000000Z,3.566\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:36:00.000000000Z,3.648\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:42:00.000000000Z,3.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:48:00.000000000Z,3.914\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T22:54:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:00:00.000000000Z,3.999\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:06:00.000000000Z,4.035\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:12:00.000000000Z,4.065\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:18:00.000000000Z,4.245\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:24:00.000000000Z,4.419\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:30:00.000000000Z,4.531\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:36:00.000000000Z,4.623\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:42:00.000000000Z,4.633\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:48:00.000000000Z,4.731\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-26T23:54:00.000000000Z,4.928\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:00:00.000000000Z,4.951\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:06:00.000000000Z,5.033\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:12:00.000000000Z,5.167\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:18:00.000000000Z,5.322\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:24:00.000000000Z,5.433\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:30:00.000000000Z,5.548\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:36:00.000000000Z,5.659\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:42:00.000000000Z,5.564\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:48:00.000000000Z,5.64\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T00:54:00.000000000Z,5.715\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:00:00.000000000Z,5.873\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:06:00.000000000Z,6.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:12:00.000000000Z,6.053\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:18:00.000000000Z,6.119\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:24:00.000000000Z,6.043\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:30:00.000000000Z,6.076\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:36:00.000000000Z,6.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:42:00.000000000Z,6.171\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:48:00.000000000Z,6.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T01:54:00.000000000Z,6.312\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:00:00.000000000Z,6.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:06:00.000000000Z,6.348\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:12:00.000000000Z,6.385\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:18:00.000000000Z,6.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:24:00.000000000Z,6.352\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:30:00.000000000Z,6.404\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:36:00.000000000Z,6.358\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:42:00.000000000Z,6.335\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:48:00.000000000Z,6.365\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T02:54:00.000000000Z,6.316\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:00:00.000000000Z,6.28\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:06:00.000000000Z,6.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:12:00.000000000Z,6.168\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:18:00.000000000Z,6.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:24:00.000000000Z,6.122\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:30:00.000000000Z,6.096\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:36:00.000000000Z,5.994\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:42:00.000000000Z,5.853\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:48:00.000000000Z,5.778\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T03:54:00.000000000Z,5.751\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:00:00.000000000Z,5.689\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:06:00.000000000Z,5.604\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:12:00.000000000Z,5.545\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:18:00.000000000Z,5.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:24:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:30:00.000000000Z,5.24\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:36:00.000000000Z,5.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:42:00.000000000Z,4.98\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:48:00.000000000Z,4.797\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T04:54:00.000000000Z,4.685\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:00:00.000000000Z,4.593\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:06:00.000000000Z,4.488\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:12:00.000000000Z,4.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:18:00.000000000Z,4.104\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:24:00.000000000Z,3.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:30:00.000000000Z,3.822\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:36:00.000000000Z,3.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:42:00.000000000Z,3.54\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:48:00.000000000Z,3.376\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T05:54:00.000000000Z,3.212\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:00:00.000000000Z,3.061\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:06:00.000000000Z,2.989\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:12:00.000000000Z,2.858\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:18:00.000000000Z,2.703\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:24:00.000000000Z,2.523\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:30:00.000000000Z,2.336\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:36:00.000000000Z,2.208\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:42:00.000000000Z,2.113\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:48:00.000000000Z,2.044\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T06:54:00.000000000Z,1.88\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:00:00.000000000Z,1.732\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:06:00.000000000Z,1.578\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:12:00.000000000Z,1.46\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:18:00.000000000Z,1.394\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:24:00.000000000Z,1.27\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:30:00.000000000Z,1.152\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:36:00.000000000Z,1.01\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:42:00.000000000Z,0.902\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:48:00.000000000Z,0.768\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T07:54:00.000000000Z,0.702\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:00:00.000000000Z,0.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:06:00.000000000Z,0.509\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:12:00.000000000Z,0.407\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:18:00.000000000Z,0.351\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:24:00.000000000Z,0.331\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:30:00.000000000Z,0.318\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:36:00.000000000Z,0.184\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:42:00.000000000Z,0.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:48:00.000000000Z,0.125\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T08:54:00.000000000Z,0.135\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:00:00.000000000Z,0.128\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:06:00.000000000Z,0.082\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:12:00.000000000Z,-0.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:18:00.000000000Z,0.007\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:24:00.000000000Z,0.075\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:30:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:36:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:42:00.000000000Z,0.098\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:48:00.000000000Z,0.079\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T09:54:00.000000000Z,0.082\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:00:00.000000000Z,0.089\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:06:00.000000000Z,0.072\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:12:00.000000000Z,0.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:18:00.000000000Z,0.164\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:24:00.000000000Z,0.207\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:30:00.000000000Z,0.338\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:36:00.000000000Z,0.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:42:00.000000000Z,0.43\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:48:00.000000000Z,0.456\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T10:54:00.000000000Z,0.489\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:00:00.000000000Z,0.551\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:06:00.000000000Z,0.719\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:12:00.000000000Z,0.912\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:18:00.000000000Z,0.955\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:24:00.000000000Z,1.05\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:30:00.000000000Z,1.102\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:36:00.000000000Z,1.25\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:42:00.000000000Z,1.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:48:00.000000000Z,1.457\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T11:54:00.000000000Z,1.66\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:00:00.000000000Z,1.755\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:06:00.000000000Z,1.824\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:12:00.000000000Z,2.001\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:18:00.000000000Z,2.087\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:24:00.000000000Z,2.244\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:30:00.000000000Z,2.339\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:36:00.000000000Z,2.415\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:42:00.000000000Z,2.552\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:48:00.000000000Z,2.687\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T12:54:00.000000000Z,2.802\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:00:00.000000000Z,2.959\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:06:00.000000000Z,3.117\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:12:00.000000000Z,3.228\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:18:00.000000000Z,3.294\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:24:00.000000000Z,3.373\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:30:00.000000000Z,3.409\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:36:00.000000000Z,3.537\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:42:00.000000000Z,3.694\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:48:00.000000000Z,3.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T13:54:00.000000000Z,3.963\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:00:00.000000000Z,4.006\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:06:00.000000000Z,4.085\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:12:00.000000000Z,4.186\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:18:00.000000000Z,4.239\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:24:00.000000000Z,4.327\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:30:00.000000000Z,4.4\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:36:00.000000000Z,4.537\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:42:00.000000000Z,4.629\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:48:00.000000000Z,4.619\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T14:54:00.000000000Z,4.626\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:00:00.000000000Z,4.633\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:06:00.000000000Z,4.731\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:12:00.000000000Z,4.764\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:18:00.000000000Z,4.77\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:24:00.000000000Z,4.806\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:30:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:36:00.000000000Z,4.836\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:42:00.000000000Z,4.839\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:48:00.000000000Z,4.895\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T15:54:00.000000000Z,4.816\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:00:00.000000000Z,4.78\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:06:00.000000000Z,4.793\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:12:00.000000000Z,4.77\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:18:00.000000000Z,4.803\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:24:00.000000000Z,4.747\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:30:00.000000000Z,4.738\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:36:00.000000000Z,4.662\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:42:00.000000000Z,4.58\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:48:00.000000000Z,4.567\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T16:54:00.000000000Z,4.505\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:00:00.000000000Z,4.469\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:06:00.000000000Z,4.38\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:12:00.000000000Z,4.324\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:18:00.000000000Z,4.321\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:24:00.000000000Z,4.14\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:30:00.000000000Z,4.045\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:36:00.000000000Z,4.055\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:42:00.000000000Z,3.96\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:48:00.000000000Z,3.842\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T17:54:00.000000000Z,3.832\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:00:00.000000000Z,3.783\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:06:00.000000000Z,3.668\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:12:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:18:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:24:00.000000000Z,3.484\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:30:00.000000000Z,3.428\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:36:00.000000000Z,3.34\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:42:00.000000000Z,3.271\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:48:00.000000000Z,3.11\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T18:54:00.000000000Z,3.031\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:00:00.000000000Z,2.979\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:06:00.000000000Z,2.933\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:12:00.000000000Z,2.887\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:18:00.000000000Z,2.769\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:24:00.000000000Z,2.68\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:30:00.000000000Z,2.631\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:36:00.000000000Z,2.566\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:42:00.000000000Z,2.53\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:48:00.000000000Z,2.536\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T19:54:00.000000000Z,2.5\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:00:00.000000000Z,2.392\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:06:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:12:00.000000000Z,2.28\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:18:00.000000000Z,2.326\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:24:00.000000000Z,2.251\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:30:00.000000000Z,2.172\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:36:00.000000000Z,2.215\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:42:00.000000000Z,2.221\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:48:00.000000000Z,2.195\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T20:54:00.000000000Z,2.165\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:00:00.000000000Z,2.096\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:06:00.000000000Z,2.139\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:12:00.000000000Z,2.211\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:18:00.000000000Z,2.26\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:24:00.000000000Z,2.306\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:30:00.000000000Z,2.31\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:36:00.000000000Z,2.29\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:42:00.000000000Z,2.3\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:48:00.000000000Z,2.375\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T21:54:00.000000000Z,2.493\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:00:00.000000000Z,2.52\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:06:00.000000000Z,2.48\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:12:00.000000000Z,2.513\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:18:00.000000000Z,2.612\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:24:00.000000000Z,2.717\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:30:00.000000000Z,2.808\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:36:00.000000000Z,2.93\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:42:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:48:00.000000000Z,2.91\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T22:54:00.000000000Z,3.12\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:00:00.000000000Z,3.258\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:06:00.000000000Z,3.363\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:12:00.000000000Z,3.406\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:18:00.000000000Z,3.491\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:24:00.000000000Z,3.589\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:30:00.000000000Z,3.688\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:36:00.000000000Z,3.855\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:42:00.000000000Z,4.003\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:48:00.000000000Z,4.049\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-27T23:54:00.000000000Z,4.157\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:00:00.000000000Z,4.301\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:06:00.000000000Z,4.429\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:12:00.000000000Z,4.475\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:18:00.000000000Z,4.646\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:24:00.000000000Z,4.754\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:30:00.000000000Z,4.875\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:36:00.000000000Z,5.026\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:42:00.000000000Z,5.18\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:48:00.000000000Z,5.246\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T00:54:00.000000000Z,5.341\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:00:00.000000000Z,5.427\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:06:00.000000000Z,5.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:12:00.000000000Z,5.745\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:18:00.000000000Z,5.817\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:24:00.000000000Z,5.879\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:30:00.000000000Z,5.991\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:36:00.000000000Z,6.024\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:42:00.000000000Z,6.129\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:48:00.000000000Z,6.296\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T01:54:00.000000000Z,6.329\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:00:00.000000000Z,6.437\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:06:00.000000000Z,6.499\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:12:00.000000000Z,6.591\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:18:00.000000000Z,6.69\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:24:00.000000000Z,6.621\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:30:00.000000000Z,6.65\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:36:00.000000000Z,6.749\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:42:00.000000000Z,6.788\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:48:00.000000000Z,6.818\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T02:54:00.000000000Z,6.89\n,,0,2015-08-22T22:12:00.000000000Z,2015-08-28T03:01:00.000000000Z,water_level,water,2015-08-28T03:00:00.000000000Z,6.9\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   1276,
					},
					File:   "holt_winters_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double\n#group,false,false,false,false\n#default,_result,,,\n,result,table,_time,_value\n,,0,2015-08-28T04:32:00Z,3.9914180362073646\n,,0,2015-08-28T10:51:00Z,0.8307286750677001\n,,0,2015-08-28T17:10:00Z,3.6959256712424695\n,,0,2015-08-28T23:29:00Z,2.945758601382681\n,,0,2015-08-29T05:48:00Z,3.398909006745872\n,,0,2015-08-29T12:07:00Z,0.6985261817067938\n,,0,2015-08-29T18:26:00Z,3.0650009664543356\n,,0,2015-08-30T00:45:00Z,2.4176070926199644\n,,0,2015-08-30T07:04:00Z,2.7815982631565688\n,,0,2015-08-30T13:23:00Z,0.5664788122687602\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   1261,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   1261,
						},
						File:   "holt_winters_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   1261,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   1276,
						},
						File:   "holt_winters_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double\n#group,false,false,false,false\n#default,_result,,,\n,result,table,_time,_value\n,,0,2015-08-28T04:32:00Z,3.9914180362073646\n,,0,2015-08-28T10:51:00Z,0.8307286750677001\n,,0,2015-08-28T17:10:00Z,3.6959256712424695\n,,0,2015-08-28T23:29:00Z,2.945758601382681\n,,0,2015-08-29T05:48:00Z,3.398909006745872\n,,0,2015-08-29T12:07:00Z,0.6985261817067938\n,,0,2015-08-29T18:26:00Z,3.0650009664543356\n,,0,2015-08-30T00:45:00Z,2.4176070926199644\n,,0,2015-08-30T07:04:00Z,2.7815982631565688\n,,0,2015-08-30T13:23:00Z,0.5664788122687602\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   1261,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double\n#group,false,false,false,false\n#default,_result,,,\n,result,table,_time,_value\n,,0,2015-08-28T04:32:00Z,3.9914180362073646\n,,0,2015-08-28T10:51:00Z,0.8307286750677001\n,,0,2015-08-28T17:10:00Z,3.6959256712424695\n,,0,2015-08-28T23:29:00Z,2.945758601382681\n,,0,2015-08-29T05:48:00Z,3.398909006745872\n,,0,2015-08-29T12:07:00Z,0.6985261817067938\n,,0,2015-08-29T18:26:00Z,3.0650009664543356\n,,0,2015-08-30T00:45:00Z,2.4176070926199644\n,,0,2015-08-30T07:04:00Z,2.7815982631565688\n,,0,2015-08-30T13:23:00Z,0.5664788122687602\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   1288,
					},
					File:   "holt_winters_test.flux",
					Source: "t_hw = (table=<-) => table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)\n    |> keep(columns: [\"_time\", \"_value\"])",
					Start: ast.Position{
						Column: 1,
						Line:   1277,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 5,
							Line:   1277,
						},
						File:   "holt_winters_test.flux",
						Source: "t_hw",
						Start: ast.Position{
							Column: 1,
							Line:   1277,
						},
					},
				},
				Name: "t_hw",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   1288,
						},
						File:   "holt_winters_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)\n    |> keep(columns: [\"_time\", \"_value\"])",
						Start: ast.Position{
							Column: 8,
							Line:   1277,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   1277,
														},
														File:   "holt_winters_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 22,
															Line:   1277,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   1278,
													},
													File:   "holt_winters_test.flux",
													Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)",
													Start: ast.Position{
														Column: 22,
														Line:   1277,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 69,
																Line:   1278,
															},
															File:   "holt_winters_test.flux",
															Source: "start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z",
															Start: ast.Position{
																Column: 14,
																Line:   1278,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 41,
																	Line:   1278,
																},
																File:   "holt_winters_test.flux",
																Source: "start: 2015-08-22T22:12:00Z",
																Start: ast.Position{
																	Column: 14,
																	Line:   1278,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 19,
																		Line:   1278,
																	},
																	File:   "holt_winters_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 14,
																		Line:   1278,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 41,
																		Line:   1278,
																	},
																	File:   "holt_winters_test.flux",
																	Source: "2015-08-22T22:12:00Z",
																	Start: ast.Position{
																		Column: 21,
																		Line:   1278,
																	},
																},
															},
															Value: parser.MustParseTime("2015-08-22T22:12:00Z"),
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 69,
																	Line:   1278,
																},
																File:   "holt_winters_test.flux",
																Source: "stop: 2015-08-28T03:00:00Z",
																Start: ast.Position{
																	Column: 43,
																	Line:   1278,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 47,
																		Line:   1278,
																	},
																	File:   "holt_winters_test.flux",
																	Source: "stop",
																	Start: ast.Position{
																		Column: 43,
																		Line:   1278,
																	},
																},
															},
															Name: "stop",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 69,
																		Line:   1278,
																	},
																	File:   "holt_winters_test.flux",
																	Source: "2015-08-28T03:00:00Z",
																	Start: ast.Position{
																		Column: 49,
																		Line:   1278,
																	},
																},
															},
															Value: parser.MustParseTime("2015-08-28T03:00:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   1278,
														},
														File:   "holt_winters_test.flux",
														Source: "range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)",
														Start: ast.Position{
															Column: 8,
															Line:   1278,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 13,
																Line:   1278,
															},
															File:   "holt_winters_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 8,
																Line:   1278,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   1279,
												},
												File:   "holt_winters_test.flux",
												Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)",
												Start: ast.Position{
													Column: 22,
													Line:   1277,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 40,
															Line:   1279,
														},
														File:   "holt_winters_test.flux",
														Source: "every: 379m, offset: 348m",
														Start: ast.Position{
															Column: 15,
															Line:   1279,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   1279,
															},
															File:   "holt_winters_test.flux",
															Source: "every: 379m",
															Start: ast.Position{
																Column: 15,
																Line:   1279,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 20,
																	Line:   1279,
																},
																File:   "holt_winters_test.flux",
																Source: "every",
																Start: ast.Position{
																	Column: 15,
																	Line:   1279,
																},
															},
														},
														Name: "every",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 26,
																	Line:   1279,
																},
																File:   "holt_winters_test.flux",
																Source: "379m",
																Start: ast.Position{
																	Column: 22,
																	Line:   1279,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(379),
															Unit:      "m",
														}},
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 40,
																Line:   1279,
															},
															File:   "holt_winters_test.flux",
															Source: "offset: 348m",
															Start: ast.Position{
																Column: 28,
																Line:   1279,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 34,
																	Line:   1279,
																},
																File:   "holt_winters_test.flux",
																Source: "offset",
																Start: ast.Position{
																	Column: 28,
																	Line:   1279,
																},
															},
														},
														Name: "offset",
													},
													Separator: nil,
													Value: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   1279,
																},
																File:   "holt_winters_test.flux",
																Source: "348m",
																Start: ast.Position{
																	Column: 36,
																	Line:   1279,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(348),
															Unit:      "m",
														}},
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   1279,
													},
													File:   "holt_winters_test.flux",
													Source: "window(every: 379m, offset: 348m)",
													Start: ast.Position{
														Column: 8,
														Line:   1279,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 14,
															Line:   1279,
														},
														File:   "holt_winters_test.flux",
														Source: "window",
														Start: ast.Position{
															Column: 8,
															Line:   1279,
														},
													},
												},
												Name: "window",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 15,
												Line:   1280,
											},
											File:   "holt_winters_test.flux",
											Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()",
											Start: ast.Position{
												Column: 22,
												Line:   1277,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   1280,
												},
												File:   "holt_winters_test.flux",
												Source: "first()",
												Start: ast.Position{
													Column: 8,
													Line:   1280,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   1280,
													},
													File:   "holt_winters_test.flux",
													Source: "first",
													Start: ast.Position{
														Column: 8,
														Line:   1280,
													},
												},
											},
											Name: "first",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: []ast.Comment{ast.Comment{Text: "// InfluxQL associates the value of the beginning of the window\n"}, ast.Comment{Text: "// to the result of the function applied to it.\n"}, ast.Comment{Text: "// So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n"}, ast.Comment{Text: "// of the starting dataset to match between InfluxQL and Flux.\n"}},
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   1285,
										},
										File:   "holt_winters_test.flux",
										Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")",
										Start: ast.Position{
											Column: 22,
											Line:   1277,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   1285,
												},
												File:   "holt_winters_test.flux",
												Source: "column: \"_start\", as: \"_time\"",
												Start: ast.Position{
													Column: 18,
													Line:   1285,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   1285,
													},
													File:   "holt_winters_test.flux",
													Source: "column: \"_start\"",
													Start: ast.Position{
														Column: 18,
														Line:   1285,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   1285,
														},
														File:   "holt_winters_test.flux",
														Source: "column",
														Start: ast.Position{
															Column: 18,
															Line:   1285,
														},
													},
												},
												Name: "column",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   1285,
														},
														File:   "holt_winters_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 26,
															Line:   1285,
														},
													},
												},
												Value: "_start",
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   1285,
													},
													File:   "holt_winters_test.flux",
													Source: "as: \"_time\"",
													Start: ast.Position{
														Column: 36,
														Line:   1285,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 38,
															Line:   1285,
														},
														File:   "holt_winters_test.flux",
														Source: "as",
														Start: ast.Position{
															Column: 36,
															Line:   1285,
														},
													},
												},
												Name: "as",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   1285,
														},
														File:   "holt_winters_test.flux",
														Source: "\"_time\"",
														Start: ast.Position{
															Column: 40,
															Line:   1285,
														},
													},
												},
												Value: "_time",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   1285,
											},
											File:   "holt_winters_test.flux",
											Source: "duplicate(column: \"_start\", as: \"_time\")",
											Start: ast.Position{
												Column: 8,
												Line:   1285,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   1285,
												},
												File:   "holt_winters_test.flux",
												Source: "duplicate",
												Start: ast.Position{
													Column: 8,
													Line:   1285,
												},
											},
										},
										Name: "duplicate",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 26,
										Line:   1286,
									},
									File:   "holt_winters_test.flux",
									Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)",
									Start: ast.Position{
										Column: 22,
										Line:   1277,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   1286,
											},
											File:   "holt_winters_test.flux",
											Source: "every: inf",
											Start: ast.Position{
												Column: 15,
												Line:   1286,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 25,
													Line:   1286,
												},
												File:   "holt_winters_test.flux",
												Source: "every: inf",
												Start: ast.Position{
													Column: 15,
													Line:   1286,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   1286,
													},
													File:   "holt_winters_test.flux",
													Source: "every",
													Start: ast.Position{
														Column: 15,
														Line:   1286,
													},
												},
											},
											Name: "every",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   1286,
													},
													File:   "holt_winters_test.flux",
													Source: "inf",
													Start: ast.Position{
														Column: 22,
														Line:   1286,
													},
												},
											},
											Name: "inf",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 26,
											Line:   1286,
										},
										File:   "holt_winters_test.flux",
										Source: "window(every: inf)",
										Start: ast.Position{
											Column: 8,
											Line:   1286,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   1286,
											},
											File:   "holt_winters_test.flux",
											Source: "window",
											Start: ast.Position{
												Column: 8,
												Line:   1286,
											},
										},
									},
									Name: "window",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 58,
									Line:   1287,
								},
								File:   "holt_winters_test.flux",
								Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)",
								Start: ast.Position{
									Column: 22,
									Line:   1277,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 57,
											Line:   1287,
										},
										File:   "holt_winters_test.flux",
										Source: "n: 10, seasonality: 4, interval: 379m",
										Start: ast.Position{
											Column: 20,
											Line:   1287,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   1287,
											},
											File:   "holt_winters_test.flux",
											Source: "n: 10",
											Start: ast.Position{
												Column: 20,
												Line:   1287,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   1287,
												},
												File:   "holt_winters_test.flux",
												Source: "n",
												Start: ast.Position{
													Column: 20,
													Line:   1287,
												},
											},
										},
										Name: "n",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 25,
													Line:   1287,
												},
												File:   "holt_winters_test.flux",
												Source: "10",
												Start: ast.Position{
													Column: 23,
													Line:   1287,
												},
											},
										},
										Value: int64(10),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   1287,
											},
											File:   "holt_winters_test.flux",
											Source: "seasonality: 4",
											Start: ast.Position{
												Column: 27,
												Line:   1287,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 38,
													Line:   1287,
												},
												File:   "holt_winters_test.flux",
												Source: "seasonality",
												Start: ast.Position{
													Column: 27,
													Line:   1287,
												},
											},
										},
										Name: "seasonality",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   1287,
												},
												File:   "holt_winters_test.flux",
												Source: "4",
												Start: ast.Position{
													Column: 40,
													Line:   1287,
												},
											},
										},
										Value: int64(4),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 57,
												Line:   1287,
											},
											File:   "holt_winters_test.flux",
											Source: "interval: 379m",
											Start: ast.Position{
												Column: 43,
												Line:   1287,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   1287,
												},
												File:   "holt_winters_test.flux",
												Source: "interval",
												Start: ast.Position{
													Column: 43,
													Line:   1287,
												},
											},
										},
										Name: "interval",
									},
									Separator: nil,
									Value: &ast.DurationLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   1287,
												},
												File:   "holt_winters_test.flux",
												Source: "379m",
												Start: ast.Position{
													Column: 53,
													Line:   1287,
												},
											},
										},
										Values: []ast.Duration{ast.Duration{
											Magnitude: int64(379),
											Unit:      "m",
										}},
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 58,
										Line:   1287,
									},
									File:   "holt_winters_test.flux",
									Source: "holtWinters(n: 10, seasonality: 4, interval: 379m)",
									Start: ast.Position{
										Column: 8,
										Line:   1287,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 19,
											Line:   1287,
										},
										File:   "holt_winters_test.flux",
										Source: "holtWinters",
										Start: ast.Position{
											Column: 8,
											Line:   1287,
										},
									},
								},
								Name: "holtWinters",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   1288,
							},
							File:   "holt_winters_test.flux",
							Source: "table\n    |> range(start: 2015-08-22T22:12:00Z, stop: 2015-08-28T03:00:00Z)\n    |> window(every: 379m, offset: 348m)\n    |> first()\n    // InfluxQL associates the value of the beginning of the window\n    // to the result of the function applied to it.\n    // So, we overwrite \"_time\" with \"_start\" in order to make timestamps\n    // of the starting dataset to match between InfluxQL and Flux.\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n    |> holtWinters(n: 10, seasonality: 4, interval: 379m)\n    |> keep(columns: [\"_time\", \"_value\"])",
							Start: ast.Position{
								Column: 22,
								Line:   1277,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   1288,
									},
									File:   "holt_winters_test.flux",
									Source: "columns: [\"_time\", \"_value\"]",
									Start: ast.Position{
										Column: 13,
										Line:   1288,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   1288,
										},
										File:   "holt_winters_test.flux",
										Source: "columns: [\"_time\", \"_value\"]",
										Start: ast.Position{
											Column: 13,
											Line:   1288,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   1288,
											},
											File:   "holt_winters_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   1288,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   1288,
											},
											File:   "holt_winters_test.flux",
											Source: "[\"_time\", \"_value\"]",
											Start: ast.Position{
												Column: 22,
												Line:   1288,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 30,
													Line:   1288,
												},
												File:   "holt_winters_test.flux",
												Source: "\"_time\"",
												Start: ast.Position{
													Column: 23,
													Line:   1288,
												},
											},
										},
										Value: "_time",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   1288,
												},
												File:   "holt_winters_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 32,
													Line:   1288,
												},
											},
										},
										Value: "_value",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   1288,
								},
								File:   "holt_winters_test.flux",
								Source: "keep(columns: [\"_time\", \"_value\"])",
								Start: ast.Position{
									Column: 8,
									Line:   1288,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   1288,
									},
									File:   "holt_winters_test.flux",
									Source: "keep",
									Start: ast.Position{
										Column: 8,
										Line:   1288,
									},
								},
							},
							Name: "keep",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   1277,
							},
							File:   "holt_winters_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 9,
								Line:   1277,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   1277,
								},
								File:   "holt_winters_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 9,
									Line:   1277,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   1277,
							},
							File:   "holt_winters_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 15,
								Line:   1277,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 118,
							Line:   1290,
						},
						File:   "holt_winters_test.flux",
						Source: "_holt_winters = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw})",
						Start: ast.Position{
							Column: 6,
							Line:   1290,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   1290,
							},
							File:   "holt_winters_test.flux",
							Source: "_holt_winters",
							Start: ast.Position{
								Column: 6,
								Line:   1290,
							},
						},
					},
					Name: "_holt_winters",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 118,
								Line:   1290,
							},
							File:   "holt_winters_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw})",
							Start: ast.Position{
								Column: 22,
								Line:   1290,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 118,
									Line:   1290,
								},
								File:   "holt_winters_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw})",
								Start: ast.Position{
									Column: 28,
									Line:   1290,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 117,
										Line:   1290,
									},
									File:   "holt_winters_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw}",
									Start: ast.Position{
										Column: 29,
										Line:   1290,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   1290,
										},
										File:   "holt_winters_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 30,
											Line:   1290,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   1290,
											},
											File:   "holt_winters_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 30,
												Line:   1290,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   1290,
												},
												File:   "holt_winters_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 57,
													Line:   1290,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   1290,
													},
													File:   "holt_winters_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 57,
														Line:   1290,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   1290,
														},
														File:   "holt_winters_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 57,
															Line:   1290,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   1290,
														},
														File:   "holt_winters_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 62,
															Line:   1290,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   1290,
											},
											File:   "holt_winters_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 37,
												Line:   1290,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   1290,
												},
												File:   "holt_winters_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 37,
													Line:   1290,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   1290,
													},
													File:   "holt_winters_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 37,
														Line:   1290,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   1290,
													},
													File:   "holt_winters_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 45,
														Line:   1290,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   1290,
										},
										File:   "holt_winters_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 71,
											Line:   1290,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   1290,
											},
											File:   "holt_winters_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 71,
												Line:   1290,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 105,
													Line:   1290,
												},
												File:   "holt_winters_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 93,
													Line:   1290,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   1290,
													},
													File:   "holt_winters_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 93,
														Line:   1290,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   1290,
														},
														File:   "holt_winters_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 93,
															Line:   1290,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   1290,
														},
														File:   "holt_winters_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 98,
															Line:   1290,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   1290,
											},
											File:   "holt_winters_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 77,
												Line:   1290,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   1290,
												},
												File:   "holt_winters_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 77,
													Line:   1290,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   1290,
													},
													File:   "holt_winters_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 77,
														Line:   1290,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   1290,
													},
													File:   "holt_winters_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 85,
														Line:   1290,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   1290,
										},
										File:   "holt_winters_test.flux",
										Source: "fn: t_hw",
										Start: ast.Position{
											Column: 108,
											Line:   1290,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   1290,
											},
											File:   "holt_winters_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 108,
												Line:   1290,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   1290,
											},
											File:   "holt_winters_test.flux",
											Source: "t_hw",
											Start: ast.Position{
												Column: 112,
												Line:   1290,
											},
										},
									},
									Name: "t_hw",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 118,
						Line:   1290,
					},
					File:   "holt_winters_test.flux",
					Source: "test _holt_winters = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hw})",
					Start: ast.Position{
						Column: 1,
						Line:   1290,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "holt_winters_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "holt_winters_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "holt_winters_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "holt_winters_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "holt_winters_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 130,
					Line:   34,
				},
				File:   "hour_selection_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T06:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T16:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T17:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-19T18:11:35Z,63\n,,0,Sgf,DlXwgrw,2018-12-19T19:11:45Z,48\n,,0,Sgf,DlXwgrw,2018-12-19T22:11:55Z,63\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-18T16:11:15Z,48\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-18T17:11:25Z,33\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-19T18:11:35Z,63\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-19T19:11:45Z,48\n\"\nt_hourSelection = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> hourSelection(start: 15, stop: 19, timeColumn: \"_time\")\n\ntest _hourSelection = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hourSelection})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "hour_selection_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "hour_selection_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "hour_selection_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "hour_selection_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "hour_selection_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "hour_selection_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T06:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T16:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T17:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-19T18:11:35Z,63\n,,0,Sgf,DlXwgrw,2018-12-19T19:11:45Z,48\n,,0,Sgf,DlXwgrw,2018-12-19T22:11:55Z,63\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "hour_selection_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "hour_selection_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T06:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T16:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T17:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-19T18:11:35Z,63\n,,0,Sgf,DlXwgrw,2018-12-19T19:11:45Z,48\n,,0,Sgf,DlXwgrw,2018-12-19T22:11:55Z,63\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T06:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T16:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T17:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-19T18:11:35Z,63\n,,0,Sgf,DlXwgrw,2018-12-19T19:11:45Z,48\n,,0,Sgf,DlXwgrw,2018-12-19T22:11:55Z,63\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "hour_selection_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-18T16:11:15Z,48\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-18T17:11:25Z,33\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-19T18:11:35Z,63\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-19T19:11:45Z,48\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "hour_selection_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "hour_selection_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-18T16:11:15Z,48\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-18T17:11:25Z,33\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-19T18:11:35Z,63\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-19T19:11:45Z,48\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-18T16:11:15Z,48\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-18T17:11:25Z,33\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-19T18:11:35Z,63\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,2018-12-19T19:11:45Z,48\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 63,
						Line:   32,
					},
					File:   "hour_selection_test.flux",
					Source: "t_hourSelection = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> hourSelection(start: 15, stop: 19, timeColumn: \"_time\")",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   30,
						},
						File:   "hour_selection_test.flux",
						Source: "t_hourSelection",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "t_hourSelection",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 63,
							Line:   32,
						},
						File:   "hour_selection_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> hourSelection(start: 15, stop: 19, timeColumn: \"_time\")",
						Start: ast.Position{
							Column: 19,
							Line:   30,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   30,
									},
									File:   "hour_selection_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 33,
										Line:   30,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   31,
								},
								File:   "hour_selection_test.flux",
								Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)",
								Start: ast.Position{
									Column: 33,
									Line:   30,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   31,
										},
										File:   "hour_selection_test.flux",
										Source: "start: 2018-12-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   31,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   31,
											},
											File:   "hour_selection_test.flux",
											Source: "start: 2018-12-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   31,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "hour_selection_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   31,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   31,
												},
												File:   "hour_selection_test.flux",
												Source: "2018-12-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   31,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   31,
									},
									File:   "hour_selection_test.flux",
									Source: "range(start: 2018-12-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   31,
										},
										File:   "hour_selection_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   31,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 63,
								Line:   32,
							},
							File:   "hour_selection_test.flux",
							Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> hourSelection(start: 15, stop: 19, timeColumn: \"_time\")",
							Start: ast.Position{
								Column: 33,
								Line:   30,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 62,
										Line:   32,
									},
									File:   "hour_selection_test.flux",
									Source: "start: 15, stop: 19, timeColumn: \"_time\"",
									Start: ast.Position{
										Column: 22,
										Line:   32,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 31,
											Line:   32,
										},
										File:   "hour_selection_test.flux",
										Source: "start: 15",
										Start: ast.Position{
											Column: 22,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   32,
											},
											File:   "hour_selection_test.flux",
											Source: "start",
											Start: ast.Position{
												Column: 22,
												Line:   32,
											},
										},
									},
									Name: "start",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   32,
											},
											File:   "hour_selection_test.flux",
											Source: "15",
											Start: ast.Position{
												Column: 29,
												Line:   32,
											},
										},
									},
									Value: int64(15),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   32,
										},
										File:   "hour_selection_test.flux",
										Source: "stop: 19",
										Start: ast.Position{
											Column: 33,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   32,
											},
											File:   "hour_selection_test.flux",
											Source: "stop",
											Start: ast.Position{
												Column: 33,
												Line:   32,
											},
										},
									},
									Name: "stop",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   32,
											},
											File:   "hour_selection_test.flux",
											Source: "19",
											Start: ast.Position{
												Column: 39,
												Line:   32,
											},
										},
									},
									Value: int64(19),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   32,
										},
										File:   "hour_selection_test.flux",
										Source: "timeColumn: \"_time\"",
										Start: ast.Position{
											Column: 43,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 53,
												Line:   32,
											},
											File:   "hour_selection_test.flux",
											Source: "timeColumn",
											Start: ast.Position{
												Column: 43,
												Line:   32,
											},
										},
									},
									Name: "timeColumn",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   32,
											},
											File:   "hour_selection_test.flux",
											Source: "\"_time\"",
											Start: ast.Position{
												Column: 55,
												Line:   32,
											},
										},
									},
									Value: "_time",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 63,
									Line:   32,
								},
								File:   "hour_selection_test.flux",
								Source: "hourSelection(start: 15, stop: 19, timeColumn: \"_time\")",
								Start: ast.Position{
									Column: 8,
									Line:   32,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   32,
									},
									File:   "hour_selection_test.flux",
									Source: "hourSelection",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Name: "hourSelection",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   30,
							},
							File:   "hour_selection_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 20,
								Line:   30,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   30,
								},
								File:   "hour_selection_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 20,
									Line:   30,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   30,
							},
							File:   "hour_selection_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 26,
								Line:   30,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 130,
							Line:   34,
						},
						File:   "hour_selection_test.flux",
						Source: "_hourSelection = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hourSelection})",
						Start: ast.Position{
							Column: 6,
							Line:   34,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   34,
							},
							File:   "hour_selection_test.flux",
							Source: "_hourSelection",
							Start: ast.Position{
								Column: 6,
								Line:   34,
							},
						},
					},
					Name: "_hourSelection",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 130,
								Line:   34,
							},
							File:   "hour_selection_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hourSelection})",
							Start: ast.Position{
								Column: 23,
								Line:   34,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 130,
									Line:   34,
								},
								File:   "hour_selection_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hourSelection})",
								Start: ast.Position{
									Column: 29,
									Line:   34,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 129,
										Line:   34,
									},
									File:   "hour_selection_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hourSelection}",
									Start: ast.Position{
										Column: 30,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   34,
										},
										File:   "hour_selection_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 31,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   34,
											},
											File:   "hour_selection_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 31,
												Line:   34,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   34,
												},
												File:   "hour_selection_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 58,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   34,
													},
													File:   "hour_selection_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 58,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   34,
														},
														File:   "hour_selection_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 58,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   34,
														},
														File:   "hour_selection_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 63,
															Line:   34,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   34,
											},
											File:   "hour_selection_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 38,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   34,
												},
												File:   "hour_selection_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 38,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   34,
													},
													File:   "hour_selection_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 38,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   34,
													},
													File:   "hour_selection_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 46,
														Line:   34,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 107,
											Line:   34,
										},
										File:   "hour_selection_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 72,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   34,
											},
											File:   "hour_selection_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 72,
												Line:   34,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   34,
												},
												File:   "hour_selection_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 94,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   34,
													},
													File:   "hour_selection_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 94,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   34,
														},
														File:   "hour_selection_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 94,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   34,
														},
														File:   "hour_selection_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 99,
															Line:   34,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   34,
											},
											File:   "hour_selection_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 78,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   34,
												},
												File:   "hour_selection_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 78,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   34,
													},
													File:   "hour_selection_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 78,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   34,
													},
													File:   "hour_selection_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 86,
														Line:   34,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 128,
											Line:   34,
										},
										File:   "hour_selection_test.flux",
										Source: "fn: t_hourSelection",
										Start: ast.Position{
											Column: 109,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   34,
											},
											File:   "hour_selection_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 109,
												Line:   34,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 128,
												Line:   34,
											},
											File:   "hour_selection_test.flux",
											Source: "t_hourSelection",
											Start: ast.Position{
												Column: 113,
												Line:   34,
											},
										},
									},
									Name: "t_hourSelection",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 130,
						Line:   34,
					},
					File:   "hour_selection_test.flux",
					Source: "test _hourSelection = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_hourSelection})",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "hour_selection_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "hour_selection_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "hour_selection_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "hour_selection_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "hour_selection_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 120,
					Line:   54,
				},
				File:   "increase_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,counter,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,3,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,5,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,1,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,10,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:26Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:36Z,20,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:46Z,7,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:56Z,10,usage_guest_nice,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,counter,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,4,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,4,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,5,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,12,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:26Z,12,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:36Z,28,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:46Z,28,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:56Z,31,usage_guest_nice,cpu,cpu-total,host.local\n\"\nt_increase = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> increase(columns: [\"counter\"])\n\ntest _increase = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_increase})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "increase_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "increase_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "increase_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "increase_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "increase_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "increase_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,counter,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,3,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,5,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,1,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,10,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:26Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:36Z,20,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:46Z,7,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:56Z,10,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "increase_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "increase_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,counter,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,3,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,5,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,1,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,10,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:26Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:36Z,20,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:46Z,7,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:56Z,10,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,counter,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,3,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,5,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,1,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,10,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:26Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:36Z,20,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:46Z,7,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:24.421470485Z,2018-05-22T19:55:00Z,2018-05-22T19:54:56Z,10,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   49,
					},
					File:   "increase_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,counter,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,4,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,4,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,5,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,12,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:26Z,12,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:36Z,28,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:46Z,28,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:56Z,31,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "increase_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   49,
						},
						File:   "increase_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,counter,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,4,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,4,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,5,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,12,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:26Z,12,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:36Z,28,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:46Z,28,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:56Z,31,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,counter,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,4,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,4,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,5,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,4,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,12,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:26Z,12,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:36Z,28,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:46Z,28,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:56Z,31,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 38,
						Line:   52,
					},
					File:   "increase_test.flux",
					Source: "t_increase = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> increase(columns: [\"counter\"])",
					Start: ast.Position{
						Column: 1,
						Line:   50,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   50,
						},
						File:   "increase_test.flux",
						Source: "t_increase",
						Start: ast.Position{
							Column: 1,
							Line:   50,
						},
					},
				},
				Name: "t_increase",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 38,
							Line:   52,
						},
						File:   "increase_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> increase(columns: [\"counter\"])",
						Start: ast.Position{
							Column: 14,
							Line:   50,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   50,
									},
									File:   "increase_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 28,
										Line:   50,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   51,
								},
								File:   "increase_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 28,
									Line:   50,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   51,
										},
										File:   "increase_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   51,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   51,
											},
											File:   "increase_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   51,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   51,
												},
												File:   "increase_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   51,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   51,
												},
												File:   "increase_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   51,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   51,
									},
									File:   "increase_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   51,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   51,
										},
										File:   "increase_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   51,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   52,
							},
							File:   "increase_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> increase(columns: [\"counter\"])",
							Start: ast.Position{
								Column: 28,
								Line:   50,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   52,
									},
									File:   "increase_test.flux",
									Source: "columns: [\"counter\"]",
									Start: ast.Position{
										Column: 17,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   52,
										},
										File:   "increase_test.flux",
										Source: "columns: [\"counter\"]",
										Start: ast.Position{
											Column: 17,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   52,
											},
											File:   "increase_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 17,
												Line:   52,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   52,
											},
											File:   "increase_test.flux",
											Source: "[\"counter\"]",
											Start: ast.Position{
												Column: 26,
												Line:   52,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   52,
												},
												File:   "increase_test.flux",
												Source: "\"counter\"",
												Start: ast.Position{
													Column: 27,
													Line:   52,
												},
											},
										},
										Value: "counter",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 38,
									Line:   52,
								},
								File:   "increase_test.flux",
								Source: "increase(columns: [\"counter\"])",
								Start: ast.Position{
									Column: 8,
									Line:   52,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 16,
										Line:   52,
									},
									File:   "increase_test.flux",
									Source: "increase",
									Start: ast.Position{
										Column: 8,
										Line:   52,
									},
								},
							},
							Name: "increase",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   50,
							},
							File:   "increase_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   50,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   50,
								},
								File:   "increase_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   50,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   50,
							},
							File:   "increase_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   50,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 120,
							Line:   54,
						},
						File:   "increase_test.flux",
						Source: "_increase = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_increase})",
						Start: ast.Position{
							Column: 6,
							Line:   54,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   54,
							},
							File:   "increase_test.flux",
							Source: "_increase",
							Start: ast.Position{
								Column: 6,
								Line:   54,
							},
						},
					},
					Name: "_increase",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 120,
								Line:   54,
							},
							File:   "increase_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_increase})",
							Start: ast.Position{
								Column: 18,
								Line:   54,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 120,
									Line:   54,
								},
								File:   "increase_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_increase})",
								Start: ast.Position{
									Column: 24,
									Line:   54,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 119,
										Line:   54,
									},
									File:   "increase_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_increase}",
									Start: ast.Position{
										Column: 25,
										Line:   54,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 65,
											Line:   54,
										},
										File:   "increase_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 26,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   54,
											},
											File:   "increase_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 26,
												Line:   54,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   54,
												},
												File:   "increase_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 53,
													Line:   54,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 64,
														Line:   54,
													},
													File:   "increase_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 53,
														Line:   54,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 56,
															Line:   54,
														},
														File:   "increase_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 53,
															Line:   54,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   54,
														},
														File:   "increase_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 58,
															Line:   54,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 65,
												Line:   54,
											},
											File:   "increase_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 33,
												Line:   54,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   54,
												},
												File:   "increase_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 33,
													Line:   54,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   54,
													},
													File:   "increase_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 33,
														Line:   54,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   54,
													},
													File:   "increase_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 41,
														Line:   54,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 102,
											Line:   54,
										},
										File:   "increase_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 67,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   54,
											},
											File:   "increase_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 67,
												Line:   54,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 101,
													Line:   54,
												},
												File:   "increase_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 89,
													Line:   54,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 101,
														Line:   54,
													},
													File:   "increase_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 89,
														Line:   54,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 92,
															Line:   54,
														},
														File:   "increase_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 89,
															Line:   54,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   54,
														},
														File:   "increase_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 94,
															Line:   54,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   54,
											},
											File:   "increase_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 73,
												Line:   54,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 88,
													Line:   54,
												},
												File:   "increase_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 73,
													Line:   54,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   54,
													},
													File:   "increase_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 73,
														Line:   54,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   54,
													},
													File:   "increase_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 81,
														Line:   54,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 118,
											Line:   54,
										},
										File:   "increase_test.flux",
										Source: "fn: t_increase",
										Start: ast.Position{
											Column: 104,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   54,
											},
											File:   "increase_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 104,
												Line:   54,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   54,
											},
											File:   "increase_test.flux",
											Source: "t_increase",
											Start: ast.Position{
												Column: 108,
												Line:   54,
											},
										},
									},
									Name: "t_increase",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 120,
						Line:   54,
					},
					File:   "increase_test.flux",
					Source: "test _increase = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_increase})",
					Start: ast.Position{
						Column: 1,
						Line:   54,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "increase_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "increase_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "increase_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "increase_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "increase_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 136,
					Line:   49,
				},
				File:   "integral_columns_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double\n#group,false,false,false,true,false,false\n#default,_result,,,,,\n,result,table,_time,_measurement,v1,v2\n,,0,2018-05-22T19:53:00Z,_m0,0,1\n,,0,2018-05-22T19:53:10Z,_m0,1,1\n,,0,2018-05-22T19:53:20Z,_m0,2,1\n,,0,2018-05-22T19:53:30Z,_m0,3,1\n,,0,2018-05-22T19:53:40Z,_m0,4,1\n,,0,2018-05-22T19:53:50Z,_m0,5,1\n,,1,2018-05-22T19:53:00Z,_m1,0,1\n,,1,2018-05-22T19:53:10Z,_m1,2,1\n,,1,2018-05-22T19:53:20Z,_m1,4,1\n,,1,2018-05-22T19:53:30Z,_m1,6,1\n,,1,2018-05-22T19:53:40Z,_m1,8,1\n,,1,2018-05-22T19:53:50Z,_m1,6,1\n,,1,2018-05-22T19:54:00Z,_m1,4,1\n,,1,2018-05-22T19:54:10Z,_m1,2,1\n,,1,2018-05-22T19:54:20Z,_m1,0,1\n,,2,2018-05-22T19:53:00Z,_m2,0,1\n,,2,2018-05-22T19:53:10Z,_m2,8,1\n,,2,2018-05-22T19:53:20Z,_m2,2,1\n,,2,2018-05-22T19:53:30Z,_m2,6,1\n,,3,2018-05-22T19:53:40Z,_m3,1,1\n,,3,2018-05-22T19:53:50Z,_m3,1,1\n,,3,2018-05-22T19:54:00Z,_m3,1,1\n\"\noutData = \"\n#datatype,string,long,string,double,double\n#group,false,false,true,false,false\n#default,_result,,,,\n,result,table,_measurement,v1,v2\n,,0,_m0,12.5,5\n,,1,_m1,32,8\n,,2,_m2,13,3\n,,3,_m3,2,2\n\"\nt_integral_columns = (table=<-) => table\n    |> integral(columns: [\"v1\", \"v2\"], unit: 10s)\n\ntest _integral_columns = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral_columns})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "integral_columns_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "integral_columns_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "integral_columns_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "integral_columns_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "integral_columns_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "integral_columns_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,double,double\n#group,false,false,false,true,false,false\n#default,_result,,,,,\n,result,table,_time,_measurement,v1,v2\n,,0,2018-05-22T19:53:00Z,_m0,0,1\n,,0,2018-05-22T19:53:10Z,_m0,1,1\n,,0,2018-05-22T19:53:20Z,_m0,2,1\n,,0,2018-05-22T19:53:30Z,_m0,3,1\n,,0,2018-05-22T19:53:40Z,_m0,4,1\n,,0,2018-05-22T19:53:50Z,_m0,5,1\n,,1,2018-05-22T19:53:00Z,_m1,0,1\n,,1,2018-05-22T19:53:10Z,_m1,2,1\n,,1,2018-05-22T19:53:20Z,_m1,4,1\n,,1,2018-05-22T19:53:30Z,_m1,6,1\n,,1,2018-05-22T19:53:40Z,_m1,8,1\n,,1,2018-05-22T19:53:50Z,_m1,6,1\n,,1,2018-05-22T19:54:00Z,_m1,4,1\n,,1,2018-05-22T19:54:10Z,_m1,2,1\n,,1,2018-05-22T19:54:20Z,_m1,0,1\n,,2,2018-05-22T19:53:00Z,_m2,0,1\n,,2,2018-05-22T19:53:10Z,_m2,8,1\n,,2,2018-05-22T19:53:20Z,_m2,2,1\n,,2,2018-05-22T19:53:30Z,_m2,6,1\n,,3,2018-05-22T19:53:40Z,_m3,1,1\n,,3,2018-05-22T19:53:50Z,_m3,1,1\n,,3,2018-05-22T19:54:00Z,_m3,1,1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "integral_columns_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "integral_columns_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,double,double\n#group,false,false,false,true,false,false\n#default,_result,,,,,\n,result,table,_time,_measurement,v1,v2\n,,0,2018-05-22T19:53:00Z,_m0,0,1\n,,0,2018-05-22T19:53:10Z,_m0,1,1\n,,0,2018-05-22T19:53:20Z,_m0,2,1\n,,0,2018-05-22T19:53:30Z,_m0,3,1\n,,0,2018-05-22T19:53:40Z,_m0,4,1\n,,0,2018-05-22T19:53:50Z,_m0,5,1\n,,1,2018-05-22T19:53:00Z,_m1,0,1\n,,1,2018-05-22T19:53:10Z,_m1,2,1\n,,1,2018-05-22T19:53:20Z,_m1,4,1\n,,1,2018-05-22T19:53:30Z,_m1,6,1\n,,1,2018-05-22T19:53:40Z,_m1,8,1\n,,1,2018-05-22T19:53:50Z,_m1,6,1\n,,1,2018-05-22T19:54:00Z,_m1,4,1\n,,1,2018-05-22T19:54:10Z,_m1,2,1\n,,1,2018-05-22T19:54:20Z,_m1,0,1\n,,2,2018-05-22T19:53:00Z,_m2,0,1\n,,2,2018-05-22T19:53:10Z,_m2,8,1\n,,2,2018-05-22T19:53:20Z,_m2,2,1\n,,2,2018-05-22T19:53:30Z,_m2,6,1\n,,3,2018-05-22T19:53:40Z,_m3,1,1\n,,3,2018-05-22T19:53:50Z,_m3,1,1\n,,3,2018-05-22T19:54:00Z,_m3,1,1\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,double,double\n#group,false,false,false,true,false,false\n#default,_result,,,,,\n,result,table,_time,_measurement,v1,v2\n,,0,2018-05-22T19:53:00Z,_m0,0,1\n,,0,2018-05-22T19:53:10Z,_m0,1,1\n,,0,2018-05-22T19:53:20Z,_m0,2,1\n,,0,2018-05-22T19:53:30Z,_m0,3,1\n,,0,2018-05-22T19:53:40Z,_m0,4,1\n,,0,2018-05-22T19:53:50Z,_m0,5,1\n,,1,2018-05-22T19:53:00Z,_m1,0,1\n,,1,2018-05-22T19:53:10Z,_m1,2,1\n,,1,2018-05-22T19:53:20Z,_m1,4,1\n,,1,2018-05-22T19:53:30Z,_m1,6,1\n,,1,2018-05-22T19:53:40Z,_m1,8,1\n,,1,2018-05-22T19:53:50Z,_m1,6,1\n,,1,2018-05-22T19:54:00Z,_m1,4,1\n,,1,2018-05-22T19:54:10Z,_m1,2,1\n,,1,2018-05-22T19:54:20Z,_m1,0,1\n,,2,2018-05-22T19:53:00Z,_m2,0,1\n,,2,2018-05-22T19:53:10Z,_m2,8,1\n,,2,2018-05-22T19:53:20Z,_m2,2,1\n,,2,2018-05-22T19:53:30Z,_m2,6,1\n,,3,2018-05-22T19:53:40Z,_m3,1,1\n,,3,2018-05-22T19:53:50Z,_m3,1,1\n,,3,2018-05-22T19:54:00Z,_m3,1,1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   45,
					},
					File:   "integral_columns_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,double,double\n#group,false,false,true,false,false\n#default,_result,,,,\n,result,table,_measurement,v1,v2\n,,0,_m0,12.5,5\n,,1,_m1,32,8\n,,2,_m2,13,3\n,,3,_m3,2,2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   36,
						},
						File:   "integral_columns_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   45,
						},
						File:   "integral_columns_test.flux",
						Source: "\"\n#datatype,string,long,string,double,double\n#group,false,false,true,false,false\n#default,_result,,,,\n,result,table,_measurement,v1,v2\n,,0,_m0,12.5,5\n,,1,_m1,32,8\n,,2,_m2,13,3\n,,3,_m3,2,2\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   36,
						},
					},
				},
				Value: "\n#datatype,string,long,string,double,double\n#group,false,false,true,false,false\n#default,_result,,,,\n,result,table,_measurement,v1,v2\n,,0,_m0,12.5,5\n,,1,_m1,32,8\n,,2,_m2,13,3\n,,3,_m3,2,2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 50,
						Line:   47,
					},
					File:   "integral_columns_test.flux",
					Source: "t_integral_columns = (table=<-) => table\n    |> integral(columns: [\"v1\", \"v2\"], unit: 10s)",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 19,
							Line:   46,
						},
						File:   "integral_columns_test.flux",
						Source: "t_integral_columns",
						Start: ast.Position{
							Column: 1,
							Line:   46,
						},
					},
				},
				Name: "t_integral_columns",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 50,
							Line:   47,
						},
						File:   "integral_columns_test.flux",
						Source: "(table=<-) => table\n    |> integral(columns: [\"v1\", \"v2\"], unit: 10s)",
						Start: ast.Position{
							Column: 22,
							Line:   46,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   46,
								},
								File:   "integral_columns_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 36,
									Line:   46,
								},
							},
						},
						Name: "table",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 50,
								Line:   47,
							},
							File:   "integral_columns_test.flux",
							Source: "table\n    |> integral(columns: [\"v1\", \"v2\"], unit: 10s)",
							Start: ast.Position{
								Column: 36,
								Line:   46,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 49,
										Line:   47,
									},
									File:   "integral_columns_test.flux",
									Source: "columns: [\"v1\", \"v2\"], unit: 10s",
									Start: ast.Position{
										Column: 17,
										Line:   47,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   47,
										},
										File:   "integral_columns_test.flux",
										Source: "columns: [\"v1\", \"v2\"]",
										Start: ast.Position{
											Column: 17,
											Line:   47,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   47,
											},
											File:   "integral_columns_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 17,
												Line:   47,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   47,
											},
											File:   "integral_columns_test.flux",
											Source: "[\"v1\", \"v2\"]",
											Start: ast.Position{
												Column: 26,
												Line:   47,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   47,
												},
												File:   "integral_columns_test.flux",
												Source: "\"v1\"",
												Start: ast.Position{
													Column: 27,
													Line:   47,
												},
											},
										},
										Value: "v1",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   47,
												},
												File:   "integral_columns_test.flux",
												Source: "\"v2\"",
												Start: ast.Position{
													Column: 33,
													Line:   47,
												},
											},
										},
										Value: "v2",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   47,
										},
										File:   "integral_columns_test.flux",
										Source: "unit: 10s",
										Start: ast.Position{
											Column: 40,
											Line:   47,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   47,
											},
											File:   "integral_columns_test.flux",
											Source: "unit",
											Start: ast.Position{
												Column: 40,
												Line:   47,
											},
										},
									},
									Name: "unit",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   47,
											},
											File:   "integral_columns_test.flux",
											Source: "10s",
											Start: ast.Position{
												Column: 46,
												Line:   47,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(10),
										Unit:      "s",
									}},
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 50,
									Line:   47,
								},
								File:   "integral_columns_test.flux",
								Source: "integral(columns: [\"v1\", \"v2\"], unit: 10s)",
								Start: ast.Position{
									Column: 8,
									Line:   47,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 16,
										Line:   47,
									},
									File:   "integral_columns_test.flux",
									Source: "integral",
									Start: ast.Position{
										Column: 8,
										Line:   47,
									},
								},
							},
							Name: "integral",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   46,
							},
							File:   "integral_columns_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 23,
								Line:   46,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   46,
								},
								File:   "integral_columns_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 23,
									Line:   46,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   46,
							},
							File:   "integral_columns_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 29,
								Line:   46,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 136,
							Line:   49,
						},
						File:   "integral_columns_test.flux",
						Source: "_integral_columns = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral_columns})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   49,
							},
							File:   "integral_columns_test.flux",
							Source: "_integral_columns",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "_integral_columns",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 136,
								Line:   49,
							},
							File:   "integral_columns_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral_columns})",
							Start: ast.Position{
								Column: 26,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 136,
									Line:   49,
								},
								File:   "integral_columns_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral_columns})",
								Start: ast.Position{
									Column: 32,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 135,
										Line:   49,
									},
									File:   "integral_columns_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral_columns}",
									Start: ast.Position{
										Column: 33,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 73,
											Line:   49,
										},
										File:   "integral_columns_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 34,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 39,
												Line:   49,
											},
											File:   "integral_columns_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 34,
												Line:   49,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   49,
												},
												File:   "integral_columns_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 61,
													Line:   49,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 72,
														Line:   49,
													},
													File:   "integral_columns_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 61,
														Line:   49,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   49,
														},
														File:   "integral_columns_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 61,
															Line:   49,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   49,
														},
														File:   "integral_columns_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 66,
															Line:   49,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   49,
											},
											File:   "integral_columns_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 41,
												Line:   49,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   49,
												},
												File:   "integral_columns_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 41,
													Line:   49,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   49,
													},
													File:   "integral_columns_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 41,
														Line:   49,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   49,
													},
													File:   "integral_columns_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 49,
														Line:   49,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   49,
										},
										File:   "integral_columns_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 75,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   49,
											},
											File:   "integral_columns_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 75,
												Line:   49,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 109,
													Line:   49,
												},
												File:   "integral_columns_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 97,
													Line:   49,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 109,
														Line:   49,
													},
													File:   "integral_columns_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 97,
														Line:   49,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   49,
														},
														File:   "integral_columns_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 97,
															Line:   49,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 109,
															Line:   49,
														},
														File:   "integral_columns_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 102,
															Line:   49,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   49,
											},
											File:   "integral_columns_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 81,
												Line:   49,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   49,
												},
												File:   "integral_columns_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 81,
													Line:   49,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   49,
													},
													File:   "integral_columns_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 81,
														Line:   49,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   49,
													},
													File:   "integral_columns_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 89,
														Line:   49,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 134,
											Line:   49,
										},
										File:   "integral_columns_test.flux",
										Source: "fn: t_integral_columns",
										Start: ast.Position{
											Column: 112,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   49,
											},
											File:   "integral_columns_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 112,
												Line:   49,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 134,
												Line:   49,
											},
											File:   "integral_columns_test.flux",
											Source: "t_integral_columns",
											Start: ast.Position{
												Column: 116,
												Line:   49,
											},
										},
									},
									Name: "t_integral_columns",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 136,
						Line:   49,
					},
					File:   "integral_columns_test.flux",
					Source: "test _integral_columns = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral_columns})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "integral_columns_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "integral_columns_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "integral_columns_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "integral_columns_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "integral_columns_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 120,
					Line:   42,
				},
				File:   "integral_interpolate_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,2\n,,0,2018-05-22T19:53:20Z,_m,FF,4\n,,0,2018-05-22T19:53:30Z,_m,FF,6\n,,0,2018-05-22T19:53:40Z,_m,FF,8\n,,0,2018-05-22T19:53:50Z,_m,FF,10\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,2,2018-05-22T19:53:00Z,_m,RR,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:20Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,0\n\"\noutData = \"\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,36.5\n,,1,_m,QQ,6\n,,2,_m,RR,-2\n\"\nt_integral = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> integral(unit: 10s, interpolate: \"linear\")\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _integral = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "integral_interpolate_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "integral_interpolate_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "integral_interpolate_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "integral_interpolate_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "integral_interpolate_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   27,
					},
					File:   "integral_interpolate_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,2\n,,0,2018-05-22T19:53:20Z,_m,FF,4\n,,0,2018-05-22T19:53:30Z,_m,FF,6\n,,0,2018-05-22T19:53:40Z,_m,FF,8\n,,0,2018-05-22T19:53:50Z,_m,FF,10\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,2,2018-05-22T19:53:00Z,_m,RR,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:20Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "integral_interpolate_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   27,
						},
						File:   "integral_interpolate_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,2\n,,0,2018-05-22T19:53:20Z,_m,FF,4\n,,0,2018-05-22T19:53:30Z,_m,FF,6\n,,0,2018-05-22T19:53:40Z,_m,FF,8\n,,0,2018-05-22T19:53:50Z,_m,FF,10\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,2,2018-05-22T19:53:00Z,_m,RR,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:20Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,0\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,2\n,,0,2018-05-22T19:53:20Z,_m,FF,4\n,,0,2018-05-22T19:53:30Z,_m,FF,6\n,,0,2018-05-22T19:53:40Z,_m,FF,8\n,,0,2018-05-22T19:53:50Z,_m,FF,10\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,2,2018-05-22T19:53:00Z,_m,RR,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:20Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   36,
					},
					File:   "integral_interpolate_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,36.5\n,,1,_m,QQ,6\n,,2,_m,RR,-2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   28,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   28,
						},
						File:   "integral_interpolate_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   28,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   36,
						},
						File:   "integral_interpolate_test.flux",
						Source: "\"\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,36.5\n,,1,_m,QQ,6\n,,2,_m,RR,-2\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   28,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,36.5\n,,1,_m,QQ,6\n,,2,_m,RR,-2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   40,
					},
					File:   "integral_interpolate_test.flux",
					Source: "t_integral = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> integral(unit: 10s, interpolate: \"linear\")\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   37,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   37,
						},
						File:   "integral_interpolate_test.flux",
						Source: "t_integral",
						Start: ast.Position{
							Column: 1,
							Line:   37,
						},
					},
				},
				Name: "t_integral",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   40,
						},
						File:   "integral_interpolate_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> integral(unit: 10s, interpolate: \"linear\")\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 14,
							Line:   37,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 33,
											Line:   37,
										},
										File:   "integral_interpolate_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 28,
											Line:   37,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   38,
									},
									File:   "integral_interpolate_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)",
									Start: ast.Position{
										Column: 28,
										Line:   37,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   38,
											},
											File:   "integral_interpolate_test.flux",
											Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   38,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   38,
												},
												File:   "integral_interpolate_test.flux",
												Source: "start: 2018-05-22T19:53:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   38,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   38,
													},
													File:   "integral_interpolate_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   38,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   38,
													},
													File:   "integral_interpolate_test.flux",
													Source: "2018-05-22T19:53:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   38,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   38,
												},
												File:   "integral_interpolate_test.flux",
												Source: "stop: 2018-05-22T19:54:00Z",
												Start: ast.Position{
													Column: 43,
													Line:   38,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   38,
													},
													File:   "integral_interpolate_test.flux",
													Source: "stop",
													Start: ast.Position{
														Column: 43,
														Line:   38,
													},
												},
											},
											Name: "stop",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   38,
													},
													File:   "integral_interpolate_test.flux",
													Source: "2018-05-22T19:54:00Z",
													Start: ast.Position{
														Column: 49,
														Line:   38,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:54:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   38,
										},
										File:   "integral_interpolate_test.flux",
										Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   38,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   38,
											},
											File:   "integral_interpolate_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   38,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 50,
									Line:   39,
								},
								File:   "integral_interpolate_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> integral(unit: 10s, interpolate: \"linear\")",
								Start: ast.Position{
									Column: 28,
									Line:   37,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   39,
										},
										File:   "integral_interpolate_test.flux",
										Source: "unit: 10s, interpolate: \"linear\"",
										Start: ast.Position{
											Column: 17,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   39,
											},
											File:   "integral_interpolate_test.flux",
											Source: "unit: 10s",
											Start: ast.Position{
												Column: 17,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   39,
												},
												File:   "integral_interpolate_test.flux",
												Source: "unit",
												Start: ast.Position{
													Column: 17,
													Line:   39,
												},
											},
										},
										Name: "unit",
									},
									Separator: nil,
									Value: &ast.DurationLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   39,
												},
												File:   "integral_interpolate_test.flux",
												Source: "10s",
												Start: ast.Position{
													Column: 23,
													Line:   39,
												},
											},
										},
										Values: []ast.Duration{ast.Duration{
											Magnitude: int64(10),
											Unit:      "s",
										}},
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   39,
											},
											File:   "integral_interpolate_test.flux",
											Source: "interpolate: \"linear\"",
											Start: ast.Position{
												Column: 28,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   39,
												},
												File:   "integral_interpolate_test.flux",
												Source: "interpolate",
												Start: ast.Position{
													Column: 28,
													Line:   39,
												},
											},
										},
										Name: "interpolate",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   39,
												},
												File:   "integral_interpolate_test.flux",
												Source: "\"linear\"",
												Start: ast.Position{
													Column: 41,
													Line:   39,
												},
											},
										},
										Value: "linear",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 50,
										Line:   39,
									},
									File:   "integral_interpolate_test.flux",
									Source: "integral(unit: 10s, interpolate: \"linear\")",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   39,
										},
										File:   "integral_interpolate_test.flux",
										Source: "integral",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "integral",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   40,
							},
							File:   "integral_interpolate_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> integral(unit: 10s, interpolate: \"linear\")\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 28,
								Line:   37,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   40,
									},
									File:   "integral_interpolate_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   40,
										},
										File:   "integral_interpolate_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   40,
											},
											File:   "integral_interpolate_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   40,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   40,
											},
											File:   "integral_interpolate_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   40,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   40,
												},
												File:   "integral_interpolate_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   40,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   40,
												},
												File:   "integral_interpolate_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   40,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   40,
								},
								File:   "integral_interpolate_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   40,
									},
									File:   "integral_interpolate_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   37,
							},
							File:   "integral_interpolate_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   37,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   37,
								},
								File:   "integral_interpolate_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   37,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   37,
							},
							File:   "integral_interpolate_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   37,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 120,
							Line:   42,
						},
						File:   "integral_interpolate_test.flux",
						Source: "_integral = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   42,
							},
							File:   "integral_interpolate_test.flux",
							Source: "_integral",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_integral",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 120,
								Line:   42,
							},
							File:   "integral_interpolate_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
							Start: ast.Position{
								Column: 18,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 120,
									Line:   42,
								},
								File:   "integral_interpolate_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
								Start: ast.Position{
									Column: 24,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 119,
										Line:   42,
									},
									File:   "integral_interpolate_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral}",
									Start: ast.Position{
										Column: 25,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 65,
											Line:   42,
										},
										File:   "integral_interpolate_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 26,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   42,
											},
											File:   "integral_interpolate_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 26,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   42,
												},
												File:   "integral_interpolate_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 53,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 64,
														Line:   42,
													},
													File:   "integral_interpolate_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 53,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 56,
															Line:   42,
														},
														File:   "integral_interpolate_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 53,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   42,
														},
														File:   "integral_interpolate_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 58,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 65,
												Line:   42,
											},
											File:   "integral_interpolate_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 33,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   42,
												},
												File:   "integral_interpolate_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 33,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   42,
													},
													File:   "integral_interpolate_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 33,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   42,
													},
													File:   "integral_interpolate_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 41,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 102,
											Line:   42,
										},
										File:   "integral_interpolate_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 67,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   42,
											},
											File:   "integral_interpolate_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 67,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 101,
													Line:   42,
												},
												File:   "integral_interpolate_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 89,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 101,
														Line:   42,
													},
													File:   "integral_interpolate_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 89,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 92,
															Line:   42,
														},
														File:   "integral_interpolate_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 89,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   42,
														},
														File:   "integral_interpolate_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 94,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   42,
											},
											File:   "integral_interpolate_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 73,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 88,
													Line:   42,
												},
												File:   "integral_interpolate_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 73,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   42,
													},
													File:   "integral_interpolate_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 73,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   42,
													},
													File:   "integral_interpolate_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 81,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 118,
											Line:   42,
										},
										File:   "integral_interpolate_test.flux",
										Source: "fn: t_integral",
										Start: ast.Position{
											Column: 104,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   42,
											},
											File:   "integral_interpolate_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 104,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   42,
											},
											File:   "integral_interpolate_test.flux",
											Source: "t_integral",
											Start: ast.Position{
												Column: 108,
												Line:   42,
											},
										},
									},
									Name: "t_integral",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 120,
						Line:   42,
					},
					File:   "integral_interpolate_test.flux",
					Source: "test _integral = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "integral_interpolate_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "integral_interpolate_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "integral_interpolate_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "integral_interpolate_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "integral_interpolate_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 120,
					Line:   51,
				},
				File:   "integral_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,1\n,,0,2018-05-22T19:53:20Z,_m,FF,1\n,,0,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-22T19:53:40Z,_m,FF,1\n,,0,2018-05-22T19:53:50Z,_m,FF,1\n,,1,2018-05-22T19:53:00Z,_m,QQ,1\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,1,2018-05-22T19:54:10Z,_m,QQ,1\n,,1,2018-05-22T19:54:20Z,_m,QQ,1\n,,2,2018-05-22T19:53:00Z,_m,RR,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:20Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,1\n,,3,2018-05-22T19:53:40Z,_m,SR,1\n,,3,2018-05-22T19:53:50Z,_m,SR,1\n,,3,2018-05-22T19:54:00Z,_m,SR,1\n\"\noutData = \"\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,5\n,,1,_m,QQ,8\n,,2,_m,RR,3\n,,3,_m,SR,2\n\"\nt_integral = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> integral(unit: 10s)\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _integral = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "integral_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "integral_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "integral_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "integral_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "integral_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "integral_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,1\n,,0,2018-05-22T19:53:20Z,_m,FF,1\n,,0,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-22T19:53:40Z,_m,FF,1\n,,0,2018-05-22T19:53:50Z,_m,FF,1\n,,1,2018-05-22T19:53:00Z,_m,QQ,1\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,1,2018-05-22T19:54:10Z,_m,QQ,1\n,,1,2018-05-22T19:54:20Z,_m,QQ,1\n,,2,2018-05-22T19:53:00Z,_m,RR,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:20Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,1\n,,3,2018-05-22T19:53:40Z,_m,SR,1\n,,3,2018-05-22T19:53:50Z,_m,SR,1\n,,3,2018-05-22T19:54:00Z,_m,SR,1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "integral_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "integral_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,1\n,,0,2018-05-22T19:53:20Z,_m,FF,1\n,,0,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-22T19:53:40Z,_m,FF,1\n,,0,2018-05-22T19:53:50Z,_m,FF,1\n,,1,2018-05-22T19:53:00Z,_m,QQ,1\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,1,2018-05-22T19:54:10Z,_m,QQ,1\n,,1,2018-05-22T19:54:20Z,_m,QQ,1\n,,2,2018-05-22T19:53:00Z,_m,RR,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:20Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,1\n,,3,2018-05-22T19:53:40Z,_m,SR,1\n,,3,2018-05-22T19:53:50Z,_m,SR,1\n,,3,2018-05-22T19:54:00Z,_m,SR,1\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,1\n,,0,2018-05-22T19:53:10Z,_m,FF,1\n,,0,2018-05-22T19:53:20Z,_m,FF,1\n,,0,2018-05-22T19:53:30Z,_m,FF,1\n,,0,2018-05-22T19:53:40Z,_m,FF,1\n,,0,2018-05-22T19:53:50Z,_m,FF,1\n,,1,2018-05-22T19:53:00Z,_m,QQ,1\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,1,2018-05-22T19:53:50Z,_m,QQ,1\n,,1,2018-05-22T19:54:00Z,_m,QQ,1\n,,1,2018-05-22T19:54:10Z,_m,QQ,1\n,,1,2018-05-22T19:54:20Z,_m,QQ,1\n,,2,2018-05-22T19:53:00Z,_m,RR,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:20Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,1\n,,3,2018-05-22T19:53:40Z,_m,SR,1\n,,3,2018-05-22T19:53:50Z,_m,SR,1\n,,3,2018-05-22T19:54:00Z,_m,SR,1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   45,
					},
					File:   "integral_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,5\n,,1,_m,QQ,8\n,,2,_m,RR,3\n,,3,_m,SR,2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   36,
						},
						File:   "integral_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   45,
						},
						File:   "integral_test.flux",
						Source: "\"\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,5\n,,1,_m,QQ,8\n,,2,_m,RR,3\n,,3,_m,SR,2\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   36,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,5\n,,1,_m,QQ,8\n,,2,_m,RR,3\n,,3,_m,SR,2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   49,
					},
					File:   "integral_test.flux",
					Source: "t_integral = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> integral(unit: 10s)\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   46,
						},
						File:   "integral_test.flux",
						Source: "t_integral",
						Start: ast.Position{
							Column: 1,
							Line:   46,
						},
					},
				},
				Name: "t_integral",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   49,
						},
						File:   "integral_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> integral(unit: 10s)\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 14,
							Line:   46,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 33,
											Line:   46,
										},
										File:   "integral_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 28,
											Line:   46,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   47,
									},
									File:   "integral_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
									Start: ast.Position{
										Column: 28,
										Line:   46,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   47,
											},
											File:   "integral_test.flux",
											Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   47,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   47,
												},
												File:   "integral_test.flux",
												Source: "start: 2018-05-22T19:53:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   47,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   47,
													},
													File:   "integral_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   47,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   47,
													},
													File:   "integral_test.flux",
													Source: "2018-05-22T19:53:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   47,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   47,
												},
												File:   "integral_test.flux",
												Source: "stop: 2018-05-22T19:55:00Z",
												Start: ast.Position{
													Column: 43,
													Line:   47,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   47,
													},
													File:   "integral_test.flux",
													Source: "stop",
													Start: ast.Position{
														Column: 43,
														Line:   47,
													},
												},
											},
											Name: "stop",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   47,
													},
													File:   "integral_test.flux",
													Source: "2018-05-22T19:55:00Z",
													Start: ast.Position{
														Column: 49,
														Line:   47,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   47,
										},
										File:   "integral_test.flux",
										Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   47,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   47,
											},
											File:   "integral_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   47,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   48,
								},
								File:   "integral_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> integral(unit: 10s)",
								Start: ast.Position{
									Column: 28,
									Line:   46,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 26,
											Line:   48,
										},
										File:   "integral_test.flux",
										Source: "unit: 10s",
										Start: ast.Position{
											Column: 17,
											Line:   48,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   48,
											},
											File:   "integral_test.flux",
											Source: "unit: 10s",
											Start: ast.Position{
												Column: 17,
												Line:   48,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   48,
												},
												File:   "integral_test.flux",
												Source: "unit",
												Start: ast.Position{
													Column: 17,
													Line:   48,
												},
											},
										},
										Name: "unit",
									},
									Separator: nil,
									Value: &ast.DurationLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   48,
												},
												File:   "integral_test.flux",
												Source: "10s",
												Start: ast.Position{
													Column: 23,
													Line:   48,
												},
											},
										},
										Values: []ast.Duration{ast.Duration{
											Magnitude: int64(10),
											Unit:      "s",
										}},
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 27,
										Line:   48,
									},
									File:   "integral_test.flux",
									Source: "integral(unit: 10s)",
									Start: ast.Position{
										Column: 8,
										Line:   48,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   48,
										},
										File:   "integral_test.flux",
										Source: "integral",
										Start: ast.Position{
											Column: 8,
											Line:   48,
										},
									},
								},
								Name: "integral",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   49,
							},
							File:   "integral_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> integral(unit: 10s)\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 28,
								Line:   46,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   49,
									},
									File:   "integral_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   49,
										},
										File:   "integral_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   49,
											},
											File:   "integral_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   49,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   49,
											},
											File:   "integral_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   49,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   49,
												},
												File:   "integral_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   49,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   49,
												},
												File:   "integral_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   49,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   49,
								},
								File:   "integral_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   49,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   49,
									},
									File:   "integral_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   49,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   46,
							},
							File:   "integral_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   46,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   46,
								},
								File:   "integral_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   46,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   46,
							},
							File:   "integral_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   46,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 120,
							Line:   51,
						},
						File:   "integral_test.flux",
						Source: "_integral = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
						Start: ast.Position{
							Column: 6,
							Line:   51,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   51,
							},
							File:   "integral_test.flux",
							Source: "_integral",
							Start: ast.Position{
								Column: 6,
								Line:   51,
							},
						},
					},
					Name: "_integral",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 120,
								Line:   51,
							},
							File:   "integral_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
							Start: ast.Position{
								Column: 18,
								Line:   51,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 120,
									Line:   51,
								},
								File:   "integral_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
								Start: ast.Position{
									Column: 24,
									Line:   51,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 119,
										Line:   51,
									},
									File:   "integral_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral}",
									Start: ast.Position{
										Column: 25,
										Line:   51,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 65,
											Line:   51,
										},
										File:   "integral_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 26,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   51,
											},
											File:   "integral_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 26,
												Line:   51,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   51,
												},
												File:   "integral_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 53,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 64,
														Line:   51,
													},
													File:   "integral_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 53,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 56,
															Line:   51,
														},
														File:   "integral_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 53,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   51,
														},
														File:   "integral_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 58,
															Line:   51,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 65,
												Line:   51,
											},
											File:   "integral_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 33,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   51,
												},
												File:   "integral_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 33,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   51,
													},
													File:   "integral_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 33,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   51,
													},
													File:   "integral_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 41,
														Line:   51,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 102,
											Line:   51,
										},
										File:   "integral_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 67,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   51,
											},
											File:   "integral_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 67,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 101,
													Line:   51,
												},
												File:   "integral_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 89,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 101,
														Line:   51,
													},
													File:   "integral_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 89,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 92,
															Line:   51,
														},
														File:   "integral_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 89,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   51,
														},
														File:   "integral_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 94,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   51,
											},
											File:   "integral_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 73,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 88,
													Line:   51,
												},
												File:   "integral_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 73,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   51,
													},
													File:   "integral_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 73,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   51,
													},
													File:   "integral_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 81,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 118,
											Line:   51,
										},
										File:   "integral_test.flux",
										Source: "fn: t_integral",
										Start: ast.Position{
											Column: 104,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   51,
											},
											File:   "integral_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 104,
												Line:   51,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   51,
											},
											File:   "integral_test.flux",
											Source: "t_integral",
											Start: ast.Position{
												Column: 108,
												Line:   51,
											},
										},
									},
									Name: "t_integral",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 120,
						Line:   51,
					},
					File:   "integral_test.flux",
					Source: "test _integral = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_integral})",
					Start: ast.Position{
						Column: 1,
						Line:   51,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "integral_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "integral_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "integral_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "integral_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "integral_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   195,
				},
				File:   "join_across_measurements_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,6535598080,active,mem,host.local\n,,0,2018-05-22T19:53:36Z,6390587392,active,mem,host.local\n,,0,2018-05-22T19:53:46Z,6445174784,active,mem,host.local\n,,0,2018-05-22T19:53:56Z,6387265536,active,mem,host.local\n,,0,2018-05-22T19:54:06Z,6375489536,active,mem,host.local\n,,0,2018-05-22T19:54:16Z,6427201536,active,mem,host.local\n,,1,2018-05-22T19:53:26Z,6347390976,available,mem,host.local\n,,1,2018-05-22T19:53:36Z,6405451776,available,mem,host.local\n,,1,2018-05-22T19:53:46Z,6461759488,available,mem,host.local\n,,1,2018-05-22T19:53:56Z,6400196608,available,mem,host.local\n,,1,2018-05-22T19:54:06Z,6394032128,available,mem,host.local\n,,1,2018-05-22T19:54:16Z,6448041984,available,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host.local\n,,2,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host.local\n,,2,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host.local\n,,2,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host.local\n,,2,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host.local\n,,2,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:36Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:46Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:56Z,2,blocked,processes,host.local\n,,3,2018-05-22T19:54:06Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:54:16Z,0,blocked,processes,host.local\n,,4,2018-05-22T19:53:26Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:36Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:46Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:56Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:54:06Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:54:16Z,0,buffered,mem,host.local\n,,5,2018-05-22T19:53:26Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:36Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:46Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:56Z,0,cached,mem,host.local\n,,5,2018-05-22T19:54:06Z,0,cached,mem,host.local\n,,5,2018-05-22T19:54:16Z,0,cached,mem,host.local\n,,6,2018-05-22T19:53:26Z,54624256,free,mem,host.local\n,,6,2018-05-22T19:53:36Z,17481728,free,mem,host.local\n,,6,2018-05-22T19:53:46Z,17805312,free,mem,host.local\n,,6,2018-05-22T19:53:56Z,16089088,free,mem,host.local\n,,6,2018-05-22T19:54:06Z,20774912,free,mem,host.local\n,,6,2018-05-22T19:54:16Z,20930560,free,mem,host.local\n,,7,2018-05-22T19:53:26Z,1461714944,free,swap,host.local\n,,7,2018-05-22T19:53:36Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:53:46Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:53:56Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:54:06Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:54:16Z,1491075072,free,swap,host.local\n,,8,2018-05-22T19:53:26Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:36Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:46Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:56Z,0,idle,processes,host.local\n,,8,2018-05-22T19:54:06Z,0,idle,processes,host.local\n,,8,2018-05-22T19:54:16Z,0,idle,processes,host.local\n,,9,2018-05-22T19:53:26Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:36Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:46Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:56Z,0,in,swap,host.local\n,,9,2018-05-22T19:54:06Z,0,in,swap,host.local\n,,9,2018-05-22T19:54:16Z,0,in,swap,host.local\n,,10,2018-05-22T19:53:26Z,6292766720,inactive,mem,host.local\n,,10,2018-05-22T19:53:36Z,6387970048,inactive,mem,host.local\n,,10,2018-05-22T19:53:46Z,6443954176,inactive,mem,host.local\n,,10,2018-05-22T19:53:56Z,6384107520,inactive,mem,host.local\n,,10,2018-05-22T19:54:06Z,6373257216,inactive,mem,host.local\n,,10,2018-05-22T19:54:16Z,6427111424,inactive,mem,host.local\n,,11,2018-05-22T19:53:26Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:36Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:46Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:56Z,0,out,swap,host.local\n,,11,2018-05-22T19:54:06Z,0,out,swap,host.local\n,,11,2018-05-22T19:54:16Z,0,out,swap,host.local\n,,12,2018-05-22T19:53:26Z,3,running,processes,host.local\n,,12,2018-05-22T19:53:36Z,1,running,processes,host.local\n,,12,2018-05-22T19:53:46Z,1,running,processes,host.local\n,,12,2018-05-22T19:53:56Z,2,running,processes,host.local\n,,12,2018-05-22T19:54:06Z,2,running,processes,host.local\n,,12,2018-05-22T19:54:16Z,3,running,processes,host.local\n,,13,2018-05-22T19:53:26Z,414,sleeping,processes,host.local\n,,13,2018-05-22T19:53:36Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:53:46Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:53:56Z,414,sleeping,processes,host.local\n,,13,2018-05-22T19:54:06Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:54:16Z,414,sleeping,processes,host.local\n,,14,2018-05-22T19:53:26Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:36Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:46Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:56Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:54:06Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:54:16Z,0,stopped,processes,host.local\n,,15,2018-05-22T19:53:26Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:36Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:46Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:56Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:54:06Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:54:16Z,17179869184,total,mem,host.local\n,,16,2018-05-22T19:53:26Z,417,total,processes,host.local\n,,16,2018-05-22T19:53:36Z,416,total,processes,host.local\n,,16,2018-05-22T19:53:46Z,416,total,processes,host.local\n,,16,2018-05-22T19:53:56Z,418,total,processes,host.local\n,,16,2018-05-22T19:54:06Z,418,total,processes,host.local\n,,16,2018-05-22T19:54:16Z,417,total,processes,host.local\n,,17,2018-05-22T19:53:26Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:36Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:46Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:56Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:54:06Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:54:16Z,8589934592,total,swap,host.local\n,,18,2018-05-22T19:53:26Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:36Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:46Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:56Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:54:06Z,1,unknown,processes,host.local\n,,18,2018-05-22T19:54:16Z,0,unknown,processes,host.local\n,,19,2018-05-22T19:53:26Z,10832478208,used,mem,host.local\n,,19,2018-05-22T19:53:36Z,10774417408,used,mem,host.local\n,,19,2018-05-22T19:53:46Z,10718109696,used,mem,host.local\n,,19,2018-05-22T19:53:56Z,10779672576,used,mem,host.local\n,,19,2018-05-22T19:54:06Z,10785837056,used,mem,host.local\n,,19,2018-05-22T19:54:16Z,10731827200,used,mem,host.local\n,,20,2018-05-22T19:53:26Z,7128219648,used,swap,host.local\n,,20,2018-05-22T19:53:36Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:53:46Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:53:56Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:54:06Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:54:16Z,7098859520,used,swap,host.local\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,21,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,21,2018-05-22T19:53:36Z,62.71536350250244,used_percent,mem,host.local\n,,21,2018-05-22T19:53:46Z,62.38760948181152,used_percent,mem,host.local\n,,21,2018-05-22T19:53:56Z,62.74595260620117,used_percent,mem,host.local\n,,21,2018-05-22T19:54:06Z,62.78183460235596,used_percent,mem,host.local\n,,21,2018-05-22T19:54:16Z,62.46745586395264,used_percent,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,22,2018-05-22T19:53:26Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:36Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:46Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:56Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:54:06Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:54:16Z,0,zombies,processes,host.local\n\"\noutData = \"\n#datatype,string,long,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,long,string\n#group,false,false,true,true,true,true,true,true,false,false,false,true\n#default,_result,,,,,,,,,,,\n,result,table,_field_mem,_field_proc,_measurement_mem,_measurement_proc,_start,_stop,_time,_value_mem,_value_proc,host\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,10832478208,417,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,10774417408,416,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,10718109696,416,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,10779672576,418,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,10785837056,418,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,10731827200,417,host.local\n\"\nt_join = (table=<-) => {\n    mem = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"used\")\n    proc = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"processes\" and r._field == \"total\")\n\n    return join(tables: {mem: mem, proc: proc}, on: [\"_time\", \"_stop\", \"_start\", \"host\"])\n}\n\ntest _join = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "join_across_measurements_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "join_across_measurements_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "join_across_measurements_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "join_across_measurements_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "join_across_measurements_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   171,
					},
					File:   "join_across_measurements_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,6535598080,active,mem,host.local\n,,0,2018-05-22T19:53:36Z,6390587392,active,mem,host.local\n,,0,2018-05-22T19:53:46Z,6445174784,active,mem,host.local\n,,0,2018-05-22T19:53:56Z,6387265536,active,mem,host.local\n,,0,2018-05-22T19:54:06Z,6375489536,active,mem,host.local\n,,0,2018-05-22T19:54:16Z,6427201536,active,mem,host.local\n,,1,2018-05-22T19:53:26Z,6347390976,available,mem,host.local\n,,1,2018-05-22T19:53:36Z,6405451776,available,mem,host.local\n,,1,2018-05-22T19:53:46Z,6461759488,available,mem,host.local\n,,1,2018-05-22T19:53:56Z,6400196608,available,mem,host.local\n,,1,2018-05-22T19:54:06Z,6394032128,available,mem,host.local\n,,1,2018-05-22T19:54:16Z,6448041984,available,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host.local\n,,2,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host.local\n,,2,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host.local\n,,2,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host.local\n,,2,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host.local\n,,2,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:36Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:46Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:56Z,2,blocked,processes,host.local\n,,3,2018-05-22T19:54:06Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:54:16Z,0,blocked,processes,host.local\n,,4,2018-05-22T19:53:26Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:36Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:46Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:56Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:54:06Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:54:16Z,0,buffered,mem,host.local\n,,5,2018-05-22T19:53:26Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:36Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:46Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:56Z,0,cached,mem,host.local\n,,5,2018-05-22T19:54:06Z,0,cached,mem,host.local\n,,5,2018-05-22T19:54:16Z,0,cached,mem,host.local\n,,6,2018-05-22T19:53:26Z,54624256,free,mem,host.local\n,,6,2018-05-22T19:53:36Z,17481728,free,mem,host.local\n,,6,2018-05-22T19:53:46Z,17805312,free,mem,host.local\n,,6,2018-05-22T19:53:56Z,16089088,free,mem,host.local\n,,6,2018-05-22T19:54:06Z,20774912,free,mem,host.local\n,,6,2018-05-22T19:54:16Z,20930560,free,mem,host.local\n,,7,2018-05-22T19:53:26Z,1461714944,free,swap,host.local\n,,7,2018-05-22T19:53:36Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:53:46Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:53:56Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:54:06Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:54:16Z,1491075072,free,swap,host.local\n,,8,2018-05-22T19:53:26Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:36Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:46Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:56Z,0,idle,processes,host.local\n,,8,2018-05-22T19:54:06Z,0,idle,processes,host.local\n,,8,2018-05-22T19:54:16Z,0,idle,processes,host.local\n,,9,2018-05-22T19:53:26Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:36Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:46Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:56Z,0,in,swap,host.local\n,,9,2018-05-22T19:54:06Z,0,in,swap,host.local\n,,9,2018-05-22T19:54:16Z,0,in,swap,host.local\n,,10,2018-05-22T19:53:26Z,6292766720,inactive,mem,host.local\n,,10,2018-05-22T19:53:36Z,6387970048,inactive,mem,host.local\n,,10,2018-05-22T19:53:46Z,6443954176,inactive,mem,host.local\n,,10,2018-05-22T19:53:56Z,6384107520,inactive,mem,host.local\n,,10,2018-05-22T19:54:06Z,6373257216,inactive,mem,host.local\n,,10,2018-05-22T19:54:16Z,6427111424,inactive,mem,host.local\n,,11,2018-05-22T19:53:26Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:36Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:46Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:56Z,0,out,swap,host.local\n,,11,2018-05-22T19:54:06Z,0,out,swap,host.local\n,,11,2018-05-22T19:54:16Z,0,out,swap,host.local\n,,12,2018-05-22T19:53:26Z,3,running,processes,host.local\n,,12,2018-05-22T19:53:36Z,1,running,processes,host.local\n,,12,2018-05-22T19:53:46Z,1,running,processes,host.local\n,,12,2018-05-22T19:53:56Z,2,running,processes,host.local\n,,12,2018-05-22T19:54:06Z,2,running,processes,host.local\n,,12,2018-05-22T19:54:16Z,3,running,processes,host.local\n,,13,2018-05-22T19:53:26Z,414,sleeping,processes,host.local\n,,13,2018-05-22T19:53:36Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:53:46Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:53:56Z,414,sleeping,processes,host.local\n,,13,2018-05-22T19:54:06Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:54:16Z,414,sleeping,processes,host.local\n,,14,2018-05-22T19:53:26Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:36Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:46Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:56Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:54:06Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:54:16Z,0,stopped,processes,host.local\n,,15,2018-05-22T19:53:26Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:36Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:46Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:56Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:54:06Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:54:16Z,17179869184,total,mem,host.local\n,,16,2018-05-22T19:53:26Z,417,total,processes,host.local\n,,16,2018-05-22T19:53:36Z,416,total,processes,host.local\n,,16,2018-05-22T19:53:46Z,416,total,processes,host.local\n,,16,2018-05-22T19:53:56Z,418,total,processes,host.local\n,,16,2018-05-22T19:54:06Z,418,total,processes,host.local\n,,16,2018-05-22T19:54:16Z,417,total,processes,host.local\n,,17,2018-05-22T19:53:26Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:36Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:46Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:56Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:54:06Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:54:16Z,8589934592,total,swap,host.local\n,,18,2018-05-22T19:53:26Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:36Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:46Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:56Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:54:06Z,1,unknown,processes,host.local\n,,18,2018-05-22T19:54:16Z,0,unknown,processes,host.local\n,,19,2018-05-22T19:53:26Z,10832478208,used,mem,host.local\n,,19,2018-05-22T19:53:36Z,10774417408,used,mem,host.local\n,,19,2018-05-22T19:53:46Z,10718109696,used,mem,host.local\n,,19,2018-05-22T19:53:56Z,10779672576,used,mem,host.local\n,,19,2018-05-22T19:54:06Z,10785837056,used,mem,host.local\n,,19,2018-05-22T19:54:16Z,10731827200,used,mem,host.local\n,,20,2018-05-22T19:53:26Z,7128219648,used,swap,host.local\n,,20,2018-05-22T19:53:36Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:53:46Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:53:56Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:54:06Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:54:16Z,7098859520,used,swap,host.local\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,21,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,21,2018-05-22T19:53:36Z,62.71536350250244,used_percent,mem,host.local\n,,21,2018-05-22T19:53:46Z,62.38760948181152,used_percent,mem,host.local\n,,21,2018-05-22T19:53:56Z,62.74595260620117,used_percent,mem,host.local\n,,21,2018-05-22T19:54:06Z,62.78183460235596,used_percent,mem,host.local\n,,21,2018-05-22T19:54:16Z,62.46745586395264,used_percent,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,22,2018-05-22T19:53:26Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:36Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:46Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:56Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:54:06Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:54:16Z,0,zombies,processes,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "join_across_measurements_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   171,
						},
						File:   "join_across_measurements_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,6535598080,active,mem,host.local\n,,0,2018-05-22T19:53:36Z,6390587392,active,mem,host.local\n,,0,2018-05-22T19:53:46Z,6445174784,active,mem,host.local\n,,0,2018-05-22T19:53:56Z,6387265536,active,mem,host.local\n,,0,2018-05-22T19:54:06Z,6375489536,active,mem,host.local\n,,0,2018-05-22T19:54:16Z,6427201536,active,mem,host.local\n,,1,2018-05-22T19:53:26Z,6347390976,available,mem,host.local\n,,1,2018-05-22T19:53:36Z,6405451776,available,mem,host.local\n,,1,2018-05-22T19:53:46Z,6461759488,available,mem,host.local\n,,1,2018-05-22T19:53:56Z,6400196608,available,mem,host.local\n,,1,2018-05-22T19:54:06Z,6394032128,available,mem,host.local\n,,1,2018-05-22T19:54:16Z,6448041984,available,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host.local\n,,2,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host.local\n,,2,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host.local\n,,2,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host.local\n,,2,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host.local\n,,2,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:36Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:46Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:56Z,2,blocked,processes,host.local\n,,3,2018-05-22T19:54:06Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:54:16Z,0,blocked,processes,host.local\n,,4,2018-05-22T19:53:26Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:36Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:46Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:56Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:54:06Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:54:16Z,0,buffered,mem,host.local\n,,5,2018-05-22T19:53:26Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:36Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:46Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:56Z,0,cached,mem,host.local\n,,5,2018-05-22T19:54:06Z,0,cached,mem,host.local\n,,5,2018-05-22T19:54:16Z,0,cached,mem,host.local\n,,6,2018-05-22T19:53:26Z,54624256,free,mem,host.local\n,,6,2018-05-22T19:53:36Z,17481728,free,mem,host.local\n,,6,2018-05-22T19:53:46Z,17805312,free,mem,host.local\n,,6,2018-05-22T19:53:56Z,16089088,free,mem,host.local\n,,6,2018-05-22T19:54:06Z,20774912,free,mem,host.local\n,,6,2018-05-22T19:54:16Z,20930560,free,mem,host.local\n,,7,2018-05-22T19:53:26Z,1461714944,free,swap,host.local\n,,7,2018-05-22T19:53:36Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:53:46Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:53:56Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:54:06Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:54:16Z,1491075072,free,swap,host.local\n,,8,2018-05-22T19:53:26Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:36Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:46Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:56Z,0,idle,processes,host.local\n,,8,2018-05-22T19:54:06Z,0,idle,processes,host.local\n,,8,2018-05-22T19:54:16Z,0,idle,processes,host.local\n,,9,2018-05-22T19:53:26Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:36Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:46Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:56Z,0,in,swap,host.local\n,,9,2018-05-22T19:54:06Z,0,in,swap,host.local\n,,9,2018-05-22T19:54:16Z,0,in,swap,host.local\n,,10,2018-05-22T19:53:26Z,6292766720,inactive,mem,host.local\n,,10,2018-05-22T19:53:36Z,6387970048,inactive,mem,host.local\n,,10,2018-05-22T19:53:46Z,6443954176,inactive,mem,host.local\n,,10,2018-05-22T19:53:56Z,6384107520,inactive,mem,host.local\n,,10,2018-05-22T19:54:06Z,6373257216,inactive,mem,host.local\n,,10,2018-05-22T19:54:16Z,6427111424,inactive,mem,host.local\n,,11,2018-05-22T19:53:26Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:36Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:46Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:56Z,0,out,swap,host.local\n,,11,2018-05-22T19:54:06Z,0,out,swap,host.local\n,,11,2018-05-22T19:54:16Z,0,out,swap,host.local\n,,12,2018-05-22T19:53:26Z,3,running,processes,host.local\n,,12,2018-05-22T19:53:36Z,1,running,processes,host.local\n,,12,2018-05-22T19:53:46Z,1,running,processes,host.local\n,,12,2018-05-22T19:53:56Z,2,running,processes,host.local\n,,12,2018-05-22T19:54:06Z,2,running,processes,host.local\n,,12,2018-05-22T19:54:16Z,3,running,processes,host.local\n,,13,2018-05-22T19:53:26Z,414,sleeping,processes,host.local\n,,13,2018-05-22T19:53:36Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:53:46Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:53:56Z,414,sleeping,processes,host.local\n,,13,2018-05-22T19:54:06Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:54:16Z,414,sleeping,processes,host.local\n,,14,2018-05-22T19:53:26Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:36Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:46Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:56Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:54:06Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:54:16Z,0,stopped,processes,host.local\n,,15,2018-05-22T19:53:26Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:36Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:46Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:56Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:54:06Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:54:16Z,17179869184,total,mem,host.local\n,,16,2018-05-22T19:53:26Z,417,total,processes,host.local\n,,16,2018-05-22T19:53:36Z,416,total,processes,host.local\n,,16,2018-05-22T19:53:46Z,416,total,processes,host.local\n,,16,2018-05-22T19:53:56Z,418,total,processes,host.local\n,,16,2018-05-22T19:54:06Z,418,total,processes,host.local\n,,16,2018-05-22T19:54:16Z,417,total,processes,host.local\n,,17,2018-05-22T19:53:26Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:36Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:46Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:56Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:54:06Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:54:16Z,8589934592,total,swap,host.local\n,,18,2018-05-22T19:53:26Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:36Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:46Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:56Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:54:06Z,1,unknown,processes,host.local\n,,18,2018-05-22T19:54:16Z,0,unknown,processes,host.local\n,,19,2018-05-22T19:53:26Z,10832478208,used,mem,host.local\n,,19,2018-05-22T19:53:36Z,10774417408,used,mem,host.local\n,,19,2018-05-22T19:53:46Z,10718109696,used,mem,host.local\n,,19,2018-05-22T19:53:56Z,10779672576,used,mem,host.local\n,,19,2018-05-22T19:54:06Z,10785837056,used,mem,host.local\n,,19,2018-05-22T19:54:16Z,10731827200,used,mem,host.local\n,,20,2018-05-22T19:53:26Z,7128219648,used,swap,host.local\n,,20,2018-05-22T19:53:36Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:53:46Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:53:56Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:54:06Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:54:16Z,7098859520,used,swap,host.local\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,21,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,21,2018-05-22T19:53:36Z,62.71536350250244,used_percent,mem,host.local\n,,21,2018-05-22T19:53:46Z,62.38760948181152,used_percent,mem,host.local\n,,21,2018-05-22T19:53:56Z,62.74595260620117,used_percent,mem,host.local\n,,21,2018-05-22T19:54:06Z,62.78183460235596,used_percent,mem,host.local\n,,21,2018-05-22T19:54:16Z,62.46745586395264,used_percent,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,22,2018-05-22T19:53:26Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:36Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:46Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:56Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:54:06Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:54:16Z,0,zombies,processes,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,6535598080,active,mem,host.local\n,,0,2018-05-22T19:53:36Z,6390587392,active,mem,host.local\n,,0,2018-05-22T19:53:46Z,6445174784,active,mem,host.local\n,,0,2018-05-22T19:53:56Z,6387265536,active,mem,host.local\n,,0,2018-05-22T19:54:06Z,6375489536,active,mem,host.local\n,,0,2018-05-22T19:54:16Z,6427201536,active,mem,host.local\n,,1,2018-05-22T19:53:26Z,6347390976,available,mem,host.local\n,,1,2018-05-22T19:53:36Z,6405451776,available,mem,host.local\n,,1,2018-05-22T19:53:46Z,6461759488,available,mem,host.local\n,,1,2018-05-22T19:53:56Z,6400196608,available,mem,host.local\n,,1,2018-05-22T19:54:06Z,6394032128,available,mem,host.local\n,,1,2018-05-22T19:54:16Z,6448041984,available,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host.local\n,,2,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host.local\n,,2,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host.local\n,,2,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host.local\n,,2,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host.local\n,,2,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:36Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:46Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:53:56Z,2,blocked,processes,host.local\n,,3,2018-05-22T19:54:06Z,0,blocked,processes,host.local\n,,3,2018-05-22T19:54:16Z,0,blocked,processes,host.local\n,,4,2018-05-22T19:53:26Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:36Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:46Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:53:56Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:54:06Z,0,buffered,mem,host.local\n,,4,2018-05-22T19:54:16Z,0,buffered,mem,host.local\n,,5,2018-05-22T19:53:26Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:36Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:46Z,0,cached,mem,host.local\n,,5,2018-05-22T19:53:56Z,0,cached,mem,host.local\n,,5,2018-05-22T19:54:06Z,0,cached,mem,host.local\n,,5,2018-05-22T19:54:16Z,0,cached,mem,host.local\n,,6,2018-05-22T19:53:26Z,54624256,free,mem,host.local\n,,6,2018-05-22T19:53:36Z,17481728,free,mem,host.local\n,,6,2018-05-22T19:53:46Z,17805312,free,mem,host.local\n,,6,2018-05-22T19:53:56Z,16089088,free,mem,host.local\n,,6,2018-05-22T19:54:06Z,20774912,free,mem,host.local\n,,6,2018-05-22T19:54:16Z,20930560,free,mem,host.local\n,,7,2018-05-22T19:53:26Z,1461714944,free,swap,host.local\n,,7,2018-05-22T19:53:36Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:53:46Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:53:56Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:54:06Z,1494745088,free,swap,host.local\n,,7,2018-05-22T19:54:16Z,1491075072,free,swap,host.local\n,,8,2018-05-22T19:53:26Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:36Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:46Z,0,idle,processes,host.local\n,,8,2018-05-22T19:53:56Z,0,idle,processes,host.local\n,,8,2018-05-22T19:54:06Z,0,idle,processes,host.local\n,,8,2018-05-22T19:54:16Z,0,idle,processes,host.local\n,,9,2018-05-22T19:53:26Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:36Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:46Z,0,in,swap,host.local\n,,9,2018-05-22T19:53:56Z,0,in,swap,host.local\n,,9,2018-05-22T19:54:06Z,0,in,swap,host.local\n,,9,2018-05-22T19:54:16Z,0,in,swap,host.local\n,,10,2018-05-22T19:53:26Z,6292766720,inactive,mem,host.local\n,,10,2018-05-22T19:53:36Z,6387970048,inactive,mem,host.local\n,,10,2018-05-22T19:53:46Z,6443954176,inactive,mem,host.local\n,,10,2018-05-22T19:53:56Z,6384107520,inactive,mem,host.local\n,,10,2018-05-22T19:54:06Z,6373257216,inactive,mem,host.local\n,,10,2018-05-22T19:54:16Z,6427111424,inactive,mem,host.local\n,,11,2018-05-22T19:53:26Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:36Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:46Z,0,out,swap,host.local\n,,11,2018-05-22T19:53:56Z,0,out,swap,host.local\n,,11,2018-05-22T19:54:06Z,0,out,swap,host.local\n,,11,2018-05-22T19:54:16Z,0,out,swap,host.local\n,,12,2018-05-22T19:53:26Z,3,running,processes,host.local\n,,12,2018-05-22T19:53:36Z,1,running,processes,host.local\n,,12,2018-05-22T19:53:46Z,1,running,processes,host.local\n,,12,2018-05-22T19:53:56Z,2,running,processes,host.local\n,,12,2018-05-22T19:54:06Z,2,running,processes,host.local\n,,12,2018-05-22T19:54:16Z,3,running,processes,host.local\n,,13,2018-05-22T19:53:26Z,414,sleeping,processes,host.local\n,,13,2018-05-22T19:53:36Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:53:46Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:53:56Z,414,sleeping,processes,host.local\n,,13,2018-05-22T19:54:06Z,415,sleeping,processes,host.local\n,,13,2018-05-22T19:54:16Z,414,sleeping,processes,host.local\n,,14,2018-05-22T19:53:26Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:36Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:46Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:53:56Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:54:06Z,0,stopped,processes,host.local\n,,14,2018-05-22T19:54:16Z,0,stopped,processes,host.local\n,,15,2018-05-22T19:53:26Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:36Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:46Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:53:56Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:54:06Z,17179869184,total,mem,host.local\n,,15,2018-05-22T19:54:16Z,17179869184,total,mem,host.local\n,,16,2018-05-22T19:53:26Z,417,total,processes,host.local\n,,16,2018-05-22T19:53:36Z,416,total,processes,host.local\n,,16,2018-05-22T19:53:46Z,416,total,processes,host.local\n,,16,2018-05-22T19:53:56Z,418,total,processes,host.local\n,,16,2018-05-22T19:54:06Z,418,total,processes,host.local\n,,16,2018-05-22T19:54:16Z,417,total,processes,host.local\n,,17,2018-05-22T19:53:26Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:36Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:46Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:53:56Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:54:06Z,8589934592,total,swap,host.local\n,,17,2018-05-22T19:54:16Z,8589934592,total,swap,host.local\n,,18,2018-05-22T19:53:26Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:36Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:46Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:53:56Z,0,unknown,processes,host.local\n,,18,2018-05-22T19:54:06Z,1,unknown,processes,host.local\n,,18,2018-05-22T19:54:16Z,0,unknown,processes,host.local\n,,19,2018-05-22T19:53:26Z,10832478208,used,mem,host.local\n,,19,2018-05-22T19:53:36Z,10774417408,used,mem,host.local\n,,19,2018-05-22T19:53:46Z,10718109696,used,mem,host.local\n,,19,2018-05-22T19:53:56Z,10779672576,used,mem,host.local\n,,19,2018-05-22T19:54:06Z,10785837056,used,mem,host.local\n,,19,2018-05-22T19:54:16Z,10731827200,used,mem,host.local\n,,20,2018-05-22T19:53:26Z,7128219648,used,swap,host.local\n,,20,2018-05-22T19:53:36Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:53:46Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:53:56Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:54:06Z,7095189504,used,swap,host.local\n,,20,2018-05-22T19:54:16Z,7098859520,used,swap,host.local\n\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,21,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,21,2018-05-22T19:53:36Z,62.71536350250244,used_percent,mem,host.local\n,,21,2018-05-22T19:53:46Z,62.38760948181152,used_percent,mem,host.local\n,,21,2018-05-22T19:53:56Z,62.74595260620117,used_percent,mem,host.local\n,,21,2018-05-22T19:54:06Z,62.78183460235596,used_percent,mem,host.local\n,,21,2018-05-22T19:54:16Z,62.46745586395264,used_percent,mem,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,22,2018-05-22T19:53:26Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:36Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:46Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:53:56Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:54:06Z,0,zombies,processes,host.local\n,,22,2018-05-22T19:54:16Z,0,zombies,processes,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   183,
					},
					File:   "join_across_measurements_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,long,string\n#group,false,false,true,true,true,true,true,true,false,false,false,true\n#default,_result,,,,,,,,,,,\n,result,table,_field_mem,_field_proc,_measurement_mem,_measurement_proc,_start,_stop,_time,_value_mem,_value_proc,host\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,10832478208,417,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,10774417408,416,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,10718109696,416,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,10779672576,418,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,10785837056,418,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,10731827200,417,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   172,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   172,
						},
						File:   "join_across_measurements_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   172,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   183,
						},
						File:   "join_across_measurements_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,long,string\n#group,false,false,true,true,true,true,true,true,false,false,false,true\n#default,_result,,,,,,,,,,,\n,result,table,_field_mem,_field_proc,_measurement_mem,_measurement_proc,_start,_stop,_time,_value_mem,_value_proc,host\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,10832478208,417,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,10774417408,416,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,10718109696,416,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,10779672576,418,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,10785837056,418,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,10731827200,417,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   172,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,long,string\n#group,false,false,true,true,true,true,true,true,false,false,false,true\n#default,_result,,,,,,,,,,,\n,result,table,_field_mem,_field_proc,_measurement_mem,_measurement_proc,_start,_stop,_time,_value_mem,_value_proc,host\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:26Z,10832478208,417,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:36Z,10774417408,416,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:46Z,10718109696,416,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:53:56Z,10779672576,418,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:06Z,10785837056,418,host.local\n,,0,used,total,mem,processes,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:16Z,10731827200,417,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   193,
					},
					File:   "join_across_measurements_test.flux",
					Source: "t_join = (table=<-) => {\n    mem = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"used\")\n    proc = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"processes\" and r._field == \"total\")\n\n    return join(tables: {mem: mem, proc: proc}, on: [\"_time\", \"_stop\", \"_start\", \"host\"])\n}",
					Start: ast.Position{
						Column: 1,
						Line:   184,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   184,
						},
						File:   "join_across_measurements_test.flux",
						Source: "t_join",
						Start: ast.Position{
							Column: 1,
							Line:   184,
						},
					},
				},
				Name: "t_join",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   193,
						},
						File:   "join_across_measurements_test.flux",
						Source: "(table=<-) => {\n    mem = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"used\")\n    proc = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"processes\" and r._field == \"total\")\n\n    return join(tables: {mem: mem, proc: proc}, on: [\"_time\", \"_stop\", \"_start\", \"host\"])\n}",
						Start: ast.Position{
							Column: 10,
							Line:   184,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   193,
							},
							File:   "join_across_measurements_test.flux",
							Source: "{\n    mem = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"used\")\n    proc = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"processes\" and r._field == \"total\")\n\n    return join(tables: {mem: mem, proc: proc}, on: [\"_time\", \"_stop\", \"_start\", \"host\"])\n}",
							Start: ast.Position{
								Column: 24,
								Line:   184,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 77,
									Line:   187,
								},
								File:   "join_across_measurements_test.flux",
								Source: "mem = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"used\")",
								Start: ast.Position{
									Column: 5,
									Line:   185,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 8,
										Line:   185,
									},
									File:   "join_across_measurements_test.flux",
									Source: "mem",
									Start: ast.Position{
										Column: 5,
										Line:   185,
									},
								},
							},
							Name: "mem",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   185,
											},
											File:   "join_across_measurements_test.flux",
											Source: "table",
											Start: ast.Position{
												Column: 11,
												Line:   185,
											},
										},
									},
									Name: "table",
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   186,
										},
										File:   "join_across_measurements_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
										Start: ast.Position{
											Column: 11,
											Line:   185,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   186,
												},
												File:   "join_across_measurements_test.flux",
												Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z",
												Start: ast.Position{
													Column: 18,
													Line:   186,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   186,
													},
													File:   "join_across_measurements_test.flux",
													Source: "start: 2018-05-22T19:53:00Z",
													Start: ast.Position{
														Column: 18,
														Line:   186,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 23,
															Line:   186,
														},
														File:   "join_across_measurements_test.flux",
														Source: "start",
														Start: ast.Position{
															Column: 18,
															Line:   186,
														},
													},
												},
												Name: "start",
											},
											Separator: nil,
											Value: &ast.DateTimeLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   186,
														},
														File:   "join_across_measurements_test.flux",
														Source: "2018-05-22T19:53:00Z",
														Start: ast.Position{
															Column: 25,
															Line:   186,
														},
													},
												},
												Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   186,
													},
													File:   "join_across_measurements_test.flux",
													Source: "stop: 2018-05-22T19:55:00Z",
													Start: ast.Position{
														Column: 47,
														Line:   186,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   186,
														},
														File:   "join_across_measurements_test.flux",
														Source: "stop",
														Start: ast.Position{
															Column: 47,
															Line:   186,
														},
													},
												},
												Name: "stop",
											},
											Separator: nil,
											Value: &ast.DateTimeLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   186,
														},
														File:   "join_across_measurements_test.flux",
														Source: "2018-05-22T19:55:00Z",
														Start: ast.Position{
															Column: 53,
															Line:   186,
														},
													},
												},
												Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   186,
											},
											File:   "join_across_measurements_test.flux",
											Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
											Start: ast.Position{
												Column: 12,
												Line:   186,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   186,
												},
												File:   "join_across_measurements_test.flux",
												Source: "range",
												Start: ast.Position{
													Column: 12,
													Line:   186,
												},
											},
										},
										Name: "range",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 77,
										Line:   187,
									},
									File:   "join_across_measurements_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"used\")",
									Start: ast.Position{
										Column: 11,
										Line:   185,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   187,
											},
											File:   "join_across_measurements_test.flux",
											Source: "fn: (r) => r._measurement == \"mem\" and r._field == \"used\"",
											Start: ast.Position{
												Column: 19,
												Line:   187,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 76,
													Line:   187,
												},
												File:   "join_across_measurements_test.flux",
												Source: "fn: (r) => r._measurement == \"mem\" and r._field == \"used\"",
												Start: ast.Position{
													Column: 19,
													Line:   187,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   187,
													},
													File:   "join_across_measurements_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 19,
														Line:   187,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   187,
													},
													File:   "join_across_measurements_test.flux",
													Source: "(r) => r._measurement == \"mem\" and r._field == \"used\"",
													Start: ast.Position{
														Column: 23,
														Line:   187,
													},
												},
											},
											Body: &ast.LogicalExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 76,
															Line:   187,
														},
														File:   "join_across_measurements_test.flux",
														Source: "r._measurement == \"mem\" and r._field == \"used\"",
														Start: ast.Position{
															Column: 30,
															Line:   187,
														},
													},
												},
												Left: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 53,
																Line:   187,
															},
															File:   "join_across_measurements_test.flux",
															Source: "r._measurement == \"mem\"",
															Start: ast.Position{
																Column: 30,
																Line:   187,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   187,
																},
																File:   "join_across_measurements_test.flux",
																Source: "r._measurement",
																Start: ast.Position{
																	Column: 30,
																	Line:   187,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 31,
																		Line:   187,
																	},
																	File:   "join_across_measurements_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 30,
																		Line:   187,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 44,
																		Line:   187,
																	},
																	File:   "join_across_measurements_test.flux",
																	Source: "_measurement",
																	Start: ast.Position{
																		Column: 32,
																		Line:   187,
																	},
																},
															},
															Name: "_measurement",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 53,
																	Line:   187,
																},
																File:   "join_across_measurements_test.flux",
																Source: "\"mem\"",
																Start: ast.Position{
																	Column: 48,
																	Line:   187,
																},
															},
														},
														Value: "mem",
													},
												},
												Operator: 1,
												Right: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 76,
																Line:   187,
															},
															File:   "join_across_measurements_test.flux",
															Source: "r._field == \"used\"",
															Start: ast.Position{
																Column: 58,
																Line:   187,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 66,
																	Line:   187,
																},
																File:   "join_across_measurements_test.flux",
																Source: "r._field",
																Start: ast.Position{
																	Column: 58,
																	Line:   187,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 59,
																		Line:   187,
																	},
																	File:   "join_across_measurements_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 58,
																		Line:   187,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 66,
																		Line:   187,
																	},
																	File:   "join_across_measurements_test.flux",
																	Source: "_field",
																	Start: ast.Position{
																		Column: 60,
																		Line:   187,
																	},
																},
															},
															Name: "_field",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 76,
																	Line:   187,
																},
																File:   "join_across_measurements_test.flux",
																Source: "\"used\"",
																Start: ast.Position{
																	Column: 70,
																	Line:   187,
																},
															},
														},
														Value: "used",
													},
												},
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 25,
															Line:   187,
														},
														File:   "join_across_measurements_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 24,
															Line:   187,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   187,
															},
															File:   "join_across_measurements_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   187,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 77,
											Line:   187,
										},
										File:   "join_across_measurements_test.flux",
										Source: "filter(fn: (r) => r._measurement == \"mem\" and r._field == \"used\")",
										Start: ast.Position{
											Column: 12,
											Line:   187,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   187,
											},
											File:   "join_across_measurements_test.flux",
											Source: "filter",
											Start: ast.Position{
												Column: 12,
												Line:   187,
											},
										},
									},
									Name: "filter",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 84,
									Line:   190,
								},
								File:   "join_across_measurements_test.flux",
								Source: "proc = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"processes\" and r._field == \"total\")",
								Start: ast.Position{
									Column: 5,
									Line:   188,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 9,
										Line:   188,
									},
									File:   "join_across_measurements_test.flux",
									Source: "proc",
									Start: ast.Position{
										Column: 5,
										Line:   188,
									},
								},
							},
							Name: "proc",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   188,
											},
											File:   "join_across_measurements_test.flux",
											Source: "table",
											Start: ast.Position{
												Column: 12,
												Line:   188,
											},
										},
									},
									Name: "table",
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   189,
										},
										File:   "join_across_measurements_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
										Start: ast.Position{
											Column: 12,
											Line:   188,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   189,
												},
												File:   "join_across_measurements_test.flux",
												Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z",
												Start: ast.Position{
													Column: 18,
													Line:   189,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   189,
													},
													File:   "join_across_measurements_test.flux",
													Source: "start: 2018-05-22T19:53:00Z",
													Start: ast.Position{
														Column: 18,
														Line:   189,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 23,
															Line:   189,
														},
														File:   "join_across_measurements_test.flux",
														Source: "start",
														Start: ast.Position{
															Column: 18,
															Line:   189,
														},
													},
												},
												Name: "start",
											},
											Separator: nil,
											Value: &ast.DateTimeLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   189,
														},
														File:   "join_across_measurements_test.flux",
														Source: "2018-05-22T19:53:00Z",
														Start: ast.Position{
															Column: 25,
															Line:   189,
														},
													},
												},
												Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   189,
													},
													File:   "join_across_measurements_test.flux",
													Source: "stop: 2018-05-22T19:55:00Z",
													Start: ast.Position{
														Column: 47,
														Line:   189,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   189,
														},
														File:   "join_across_measurements_test.flux",
														Source: "stop",
														Start: ast.Position{
															Column: 47,
															Line:   189,
														},
													},
												},
												Name: "stop",
											},
											Separator: nil,
											Value: &ast.DateTimeLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   189,
														},
														File:   "join_across_measurements_test.flux",
														Source: "2018-05-22T19:55:00Z",
														Start: ast.Position{
															Column: 53,
															Line:   189,
														},
													},
												},
												Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   189,
											},
											File:   "join_across_measurements_test.flux",
											Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
											Start: ast.Position{
												Column: 12,
												Line:   189,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   189,
												},
												File:   "join_across_measurements_test.flux",
												Source: "range",
												Start: ast.Position{
													Column: 12,
													Line:   189,
												},
											},
										},
										Name: "range",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 84,
										Line:   190,
									},
									File:   "join_across_measurements_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> filter(fn: (r) => r._measurement == \"processes\" and r._field == \"total\")",
									Start: ast.Position{
										Column: 12,
										Line:   188,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   190,
											},
											File:   "join_across_measurements_test.flux",
											Source: "fn: (r) => r._measurement == \"processes\" and r._field == \"total\"",
											Start: ast.Position{
												Column: 19,
												Line:   190,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   190,
												},
												File:   "join_across_measurements_test.flux",
												Source: "fn: (r) => r._measurement == \"processes\" and r._field == \"total\"",
												Start: ast.Position{
													Column: 19,
													Line:   190,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   190,
													},
													File:   "join_across_measurements_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 19,
														Line:   190,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   190,
													},
													File:   "join_across_measurements_test.flux",
													Source: "(r) => r._measurement == \"processes\" and r._field == \"total\"",
													Start: ast.Position{
														Column: 23,
														Line:   190,
													},
												},
											},
											Body: &ast.LogicalExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 83,
															Line:   190,
														},
														File:   "join_across_measurements_test.flux",
														Source: "r._measurement == \"processes\" and r._field == \"total\"",
														Start: ast.Position{
															Column: 30,
															Line:   190,
														},
													},
												},
												Left: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 59,
																Line:   190,
															},
															File:   "join_across_measurements_test.flux",
															Source: "r._measurement == \"processes\"",
															Start: ast.Position{
																Column: 30,
																Line:   190,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   190,
																},
																File:   "join_across_measurements_test.flux",
																Source: "r._measurement",
																Start: ast.Position{
																	Column: 30,
																	Line:   190,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 31,
																		Line:   190,
																	},
																	File:   "join_across_measurements_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 30,
																		Line:   190,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 44,
																		Line:   190,
																	},
																	File:   "join_across_measurements_test.flux",
																	Source: "_measurement",
																	Start: ast.Position{
																		Column: 32,
																		Line:   190,
																	},
																},
															},
															Name: "_measurement",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 59,
																	Line:   190,
																},
																File:   "join_across_measurements_test.flux",
																Source: "\"processes\"",
																Start: ast.Position{
																	Column: 48,
																	Line:   190,
																},
															},
														},
														Value: "processes",
													},
												},
												Operator: 1,
												Right: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 83,
																Line:   190,
															},
															File:   "join_across_measurements_test.flux",
															Source: "r._field == \"total\"",
															Start: ast.Position{
																Column: 64,
																Line:   190,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 72,
																	Line:   190,
																},
																File:   "join_across_measurements_test.flux",
																Source: "r._field",
																Start: ast.Position{
																	Column: 64,
																	Line:   190,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 65,
																		Line:   190,
																	},
																	File:   "join_across_measurements_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 64,
																		Line:   190,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 72,
																		Line:   190,
																	},
																	File:   "join_across_measurements_test.flux",
																	Source: "_field",
																	Start: ast.Position{
																		Column: 66,
																		Line:   190,
																	},
																},
															},
															Name: "_field",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 83,
																	Line:   190,
																},
																File:   "join_across_measurements_test.flux",
																Source: "\"total\"",
																Start: ast.Position{
																	Column: 76,
																	Line:   190,
																},
															},
														},
														Value: "total",
													},
												},
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 25,
															Line:   190,
														},
														File:   "join_across_measurements_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 24,
															Line:   190,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   190,
															},
															File:   "join_across_measurements_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   190,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 84,
											Line:   190,
										},
										File:   "join_across_measurements_test.flux",
										Source: "filter(fn: (r) => r._measurement == \"processes\" and r._field == \"total\")",
										Start: ast.Position{
											Column: 12,
											Line:   190,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   190,
											},
											File:   "join_across_measurements_test.flux",
											Source: "filter",
											Start: ast.Position{
												Column: 12,
												Line:   190,
											},
										},
									},
									Name: "filter",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 89,
											Line:   192,
										},
										File:   "join_across_measurements_test.flux",
										Source: "tables: {mem: mem, proc: proc}, on: [\"_time\", \"_stop\", \"_start\", \"host\"]",
										Start: ast.Position{
											Column: 17,
											Line:   192,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   192,
											},
											File:   "join_across_measurements_test.flux",
											Source: "tables: {mem: mem, proc: proc}",
											Start: ast.Position{
												Column: 17,
												Line:   192,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 23,
													Line:   192,
												},
												File:   "join_across_measurements_test.flux",
												Source: "tables",
												Start: ast.Position{
													Column: 17,
													Line:   192,
												},
											},
										},
										Name: "tables",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   192,
												},
												File:   "join_across_measurements_test.flux",
												Source: "{mem: mem, proc: proc}",
												Start: ast.Position{
													Column: 25,
													Line:   192,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   192,
													},
													File:   "join_across_measurements_test.flux",
													Source: "mem: mem",
													Start: ast.Position{
														Column: 26,
														Line:   192,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 29,
															Line:   192,
														},
														File:   "join_across_measurements_test.flux",
														Source: "mem",
														Start: ast.Position{
															Column: 26,
															Line:   192,
														},
													},
												},
												Name: "mem",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   192,
														},
														File:   "join_across_measurements_test.flux",
														Source: "mem",
														Start: ast.Position{
															Column: 31,
															Line:   192,
														},
													},
												},
												Name: "mem",
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   192,
													},
													File:   "join_across_measurements_test.flux",
													Source: "proc: proc",
													Start: ast.Position{
														Column: 36,
														Line:   192,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 40,
															Line:   192,
														},
														File:   "join_across_measurements_test.flux",
														Source: "proc",
														Start: ast.Position{
															Column: 36,
															Line:   192,
														},
													},
												},
												Name: "proc",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   192,
														},
														File:   "join_across_measurements_test.flux",
														Source: "proc",
														Start: ast.Position{
															Column: 42,
															Line:   192,
														},
													},
												},
												Name: "proc",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 89,
												Line:   192,
											},
											File:   "join_across_measurements_test.flux",
											Source: "on: [\"_time\", \"_stop\", \"_start\", \"host\"]",
											Start: ast.Position{
												Column: 49,
												Line:   192,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   192,
												},
												File:   "join_across_measurements_test.flux",
												Source: "on",
												Start: ast.Position{
													Column: 49,
													Line:   192,
												},
											},
										},
										Name: "on",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   192,
												},
												File:   "join_across_measurements_test.flux",
												Source: "[\"_time\", \"_stop\", \"_start\", \"host\"]",
												Start: ast.Position{
													Column: 53,
													Line:   192,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   192,
													},
													File:   "join_across_measurements_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 54,
														Line:   192,
													},
												},
											},
											Value: "_time",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   192,
													},
													File:   "join_across_measurements_test.flux",
													Source: "\"_stop\"",
													Start: ast.Position{
														Column: 63,
														Line:   192,
													},
												},
											},
											Value: "_stop",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   192,
													},
													File:   "join_across_measurements_test.flux",
													Source: "\"_start\"",
													Start: ast.Position{
														Column: 72,
														Line:   192,
													},
												},
											},
											Value: "_start",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   192,
													},
													File:   "join_across_measurements_test.flux",
													Source: "\"host\"",
													Start: ast.Position{
														Column: 82,
														Line:   192,
													},
												},
											},
											Value: "host",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 90,
										Line:   192,
									},
									File:   "join_across_measurements_test.flux",
									Source: "join(tables: {mem: mem, proc: proc}, on: [\"_time\", \"_stop\", \"_start\", \"host\"])",
									Start: ast.Position{
										Column: 12,
										Line:   192,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   192,
										},
										File:   "join_across_measurements_test.flux",
										Source: "join",
										Start: ast.Position{
											Column: 12,
											Line:   192,
										},
									},
								},
								Name: "join",
							},
							Lparen: nil,
							Rparen: nil,
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 90,
									Line:   192,
								},
								File:   "join_across_measurements_test.flux",
								Source: "return join(tables: {mem: mem, proc: proc}, on: [\"_time\", \"_stop\", \"_start\", \"host\"])",
								Start: ast.Position{
									Column: 5,
									Line:   192,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   184,
							},
							File:   "join_across_measurements_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   184,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   184,
								},
								File:   "join_across_measurements_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   184,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   184,
							},
							File:   "join_across_measurements_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   184,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   195,
						},
						File:   "join_across_measurements_test.flux",
						Source: "_join = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
						Start: ast.Position{
							Column: 6,
							Line:   195,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   195,
							},
							File:   "join_across_measurements_test.flux",
							Source: "_join",
							Start: ast.Position{
								Column: 6,
								Line:   195,
							},
						},
					},
					Name: "_join",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   195,
							},
							File:   "join_across_measurements_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
							Start: ast.Position{
								Column: 14,
								Line:   195,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   195,
								},
								File:   "join_across_measurements_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
								Start: ast.Position{
									Column: 20,
									Line:   195,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   195,
									},
									File:   "join_across_measurements_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join}",
									Start: ast.Position{
										Column: 21,
										Line:   195,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   195,
										},
										File:   "join_across_measurements_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   195,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   195,
											},
											File:   "join_across_measurements_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   195,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   195,
												},
												File:   "join_across_measurements_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   195,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   195,
													},
													File:   "join_across_measurements_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   195,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   195,
														},
														File:   "join_across_measurements_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   195,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   195,
														},
														File:   "join_across_measurements_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   195,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   195,
											},
											File:   "join_across_measurements_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   195,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   195,
												},
												File:   "join_across_measurements_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   195,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   195,
													},
													File:   "join_across_measurements_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   195,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   195,
													},
													File:   "join_across_measurements_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   195,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   195,
										},
										File:   "join_across_measurements_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   195,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   195,
											},
											File:   "join_across_measurements_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   195,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   195,
												},
												File:   "join_across_measurements_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   195,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   195,
													},
													File:   "join_across_measurements_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   195,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   195,
														},
														File:   "join_across_measurements_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   195,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   195,
														},
														File:   "join_across_measurements_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   195,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   195,
											},
											File:   "join_across_measurements_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   195,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   195,
												},
												File:   "join_across_measurements_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   195,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   195,
													},
													File:   "join_across_measurements_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   195,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   195,
													},
													File:   "join_across_measurements_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   195,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   195,
										},
										File:   "join_across_measurements_test.flux",
										Source: "fn: t_join",
										Start: ast.Position{
											Column: 100,
											Line:   195,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   195,
											},
											File:   "join_across_measurements_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   195,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   195,
											},
											File:   "join_across_measurements_test.flux",
											Source: "t_join",
											Start: ast.Position{
												Column: 104,
												Line:   195,
											},
										},
									},
									Name: "t_join",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   195,
					},
					File:   "join_across_measurements_test.flux",
					Source: "test _join = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
					Start: ast.Position{
						Column: 1,
						Line:   195,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "join_across_measurements_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "join_across_measurements_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "join_across_measurements_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "join_across_measurements_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "join_across_measurements_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   49,
				},
				File:   "join_agg_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2019-05-10T20:50:00Z,11930171,reads,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,0,2019-05-10T20:50:10Z,11930171,reads,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,1,2019-05-10T20:50:00Z,391,reads,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,1,2019-05-10T20:50:10Z,391,reads,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,2,2019-05-10T20:50:00Z,34399675,writes,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,2,2019-05-10T20:50:10Z,34399831,writes,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,3,2019-05-10T20:50:00Z,0,writes,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,3,2019-05-10T20:50:10Z,0,writes,diskio,ip-192-168-1-16.ec2.internal,disk2\n\"\noutData = \"\n#datatype,string,long,string,long,long\n#group,false,false,true,false,false\n#default,_result,,,,\n,result,table,name,total_reads,total_writes\n,,0,disk0,23860342,68799506\n,,1,disk2,782,0\n\"\nt_joinNoOn = (table=<-) => {\n    left = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_reads\"})\n    right = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_writes\"})\n\n    return join(tables: {left, right}, on: [\"name\"])\n}\n\ntest _join = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_joinNoOn})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "join_agg_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "join_agg_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "join_agg_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "join_agg_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "join_agg_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   21,
					},
					File:   "join_agg_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2019-05-10T20:50:00Z,11930171,reads,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,0,2019-05-10T20:50:10Z,11930171,reads,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,1,2019-05-10T20:50:00Z,391,reads,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,1,2019-05-10T20:50:10Z,391,reads,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,2,2019-05-10T20:50:00Z,34399675,writes,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,2,2019-05-10T20:50:10Z,34399831,writes,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,3,2019-05-10T20:50:00Z,0,writes,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,3,2019-05-10T20:50:10Z,0,writes,diskio,ip-192-168-1-16.ec2.internal,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "join_agg_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   21,
						},
						File:   "join_agg_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2019-05-10T20:50:00Z,11930171,reads,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,0,2019-05-10T20:50:10Z,11930171,reads,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,1,2019-05-10T20:50:00Z,391,reads,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,1,2019-05-10T20:50:10Z,391,reads,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,2,2019-05-10T20:50:00Z,34399675,writes,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,2,2019-05-10T20:50:10Z,34399831,writes,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,3,2019-05-10T20:50:00Z,0,writes,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,3,2019-05-10T20:50:10Z,0,writes,diskio,ip-192-168-1-16.ec2.internal,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2019-05-10T20:50:00Z,11930171,reads,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,0,2019-05-10T20:50:10Z,11930171,reads,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,1,2019-05-10T20:50:00Z,391,reads,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,1,2019-05-10T20:50:10Z,391,reads,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,2,2019-05-10T20:50:00Z,34399675,writes,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,2,2019-05-10T20:50:10Z,34399831,writes,diskio,ip-192-168-1-16.ec2.internal,disk0\n,,3,2019-05-10T20:50:00Z,0,writes,diskio,ip-192-168-1-16.ec2.internal,disk2\n,,3,2019-05-10T20:50:10Z,0,writes,diskio,ip-192-168-1-16.ec2.internal,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "join_agg_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,long,long\n#group,false,false,true,false,false\n#default,_result,,,,\n,result,table,name,total_reads,total_writes\n,,0,disk0,23860342,68799506\n,,1,disk2,782,0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   22,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   22,
						},
						File:   "join_agg_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   22,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "join_agg_test.flux",
						Source: "\"\n#datatype,string,long,string,long,long\n#group,false,false,true,false,false\n#default,_result,,,,\n,result,table,name,total_reads,total_writes\n,,0,disk0,23860342,68799506\n,,1,disk2,782,0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   22,
						},
					},
				},
				Value: "\n#datatype,string,long,string,long,long\n#group,false,false,true,false,false\n#default,_result,,,,\n,result,table,name,total_reads,total_writes\n,,0,disk0,23860342,68799506\n,,1,disk2,782,0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "join_agg_test.flux",
					Source: "t_joinNoOn = (table=<-) => {\n    left = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_reads\"})\n    right = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_writes\"})\n\n    return join(tables: {left, right}, on: [\"name\"])\n}",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   30,
						},
						File:   "join_agg_test.flux",
						Source: "t_joinNoOn",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "t_joinNoOn",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "join_agg_test.flux",
						Source: "(table=<-) => {\n    left = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_reads\"})\n    right = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_writes\"})\n\n    return join(tables: {left, right}, on: [\"name\"])\n}",
						Start: ast.Position{
							Column: 14,
							Line:   30,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   47,
							},
							File:   "join_agg_test.flux",
							Source: "{\n    left = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_reads\"})\n    right = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_writes\"})\n\n    return join(tables: {left, right}, on: [\"name\"])\n}",
							Start: ast.Position{
								Column: 28,
								Line:   30,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 52,
									Line:   37,
								},
								File:   "join_agg_test.flux",
								Source: "left = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_reads\"})",
								Start: ast.Position{
									Column: 5,
									Line:   31,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 9,
										Line:   31,
									},
									File:   "join_agg_test.flux",
									Source: "left",
									Start: ast.Position{
										Column: 5,
										Line:   31,
									},
								},
							},
							Name: "left",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.PipeExpression{
												Argument: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   31,
															},
															File:   "join_agg_test.flux",
															Source: "table",
															Start: ast.Position{
																Column: 12,
																Line:   31,
															},
														},
													},
													Name: "table",
												},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   32,
														},
														File:   "join_agg_test.flux",
														Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   31,
														},
													},
												},
												Call: &ast.CallExpression{
													Arguments: []ast.Expression{&ast.ObjectExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   32,
																},
																File:   "join_agg_test.flux",
																Source: "start: 2018-05-22T19:53:00Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   32,
																},
															},
														},
														Lbrace: nil,
														Properties: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   32,
																	},
																	File:   "join_agg_test.flux",
																	Source: "start: 2018-05-22T19:53:00Z",
																	Start: ast.Position{
																		Column: 18,
																		Line:   32,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 23,
																			Line:   32,
																		},
																		File:   "join_agg_test.flux",
																		Source: "start",
																		Start: ast.Position{
																			Column: 18,
																			Line:   32,
																		},
																	},
																},
																Name: "start",
															},
															Separator: nil,
															Value: &ast.DateTimeLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 45,
																			Line:   32,
																		},
																		File:   "join_agg_test.flux",
																		Source: "2018-05-22T19:53:00Z",
																		Start: ast.Position{
																			Column: 25,
																			Line:   32,
																		},
																	},
																},
																Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
															},
														}},
														Rbrace: nil,
														With:   nil,
													}},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 46,
																Line:   32,
															},
															File:   "join_agg_test.flux",
															Source: "range(start: 2018-05-22T19:53:00Z)",
															Start: ast.Position{
																Column: 12,
																Line:   32,
															},
														},
													},
													Callee: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 17,
																	Line:   32,
																},
																File:   "join_agg_test.flux",
																Source: "range",
																Start: ast.Position{
																	Column: 12,
																	Line:   32,
																},
															},
														},
														Name: "range",
													},
													Lparen: nil,
													Rparen: nil,
												},
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   33,
													},
													File:   "join_agg_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")",
													Start: ast.Position{
														Column: 12,
														Line:   31,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 49,
																Line:   33,
															},
															File:   "join_agg_test.flux",
															Source: "fn: (r) => r._field == \"reads\"",
															Start: ast.Position{
																Column: 19,
																Line:   33,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 49,
																	Line:   33,
																},
																File:   "join_agg_test.flux",
																Source: "fn: (r) => r._field == \"reads\"",
																Start: ast.Position{
																	Column: 19,
																	Line:   33,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 21,
																		Line:   33,
																	},
																	File:   "join_agg_test.flux",
																	Source: "fn",
																	Start: ast.Position{
																		Column: 19,
																		Line:   33,
																	},
																},
															},
															Name: "fn",
														},
														Separator: nil,
														Value: &ast.FunctionExpression{
															Arrow: nil,
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 49,
																		Line:   33,
																	},
																	File:   "join_agg_test.flux",
																	Source: "(r) => r._field == \"reads\"",
																	Start: ast.Position{
																		Column: 23,
																		Line:   33,
																	},
																},
															},
															Body: &ast.BinaryExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 49,
																			Line:   33,
																		},
																		File:   "join_agg_test.flux",
																		Source: "r._field == \"reads\"",
																		Start: ast.Position{
																			Column: 30,
																			Line:   33,
																		},
																	},
																},
																Left: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 38,
																				Line:   33,
																			},
																			File:   "join_agg_test.flux",
																			Source: "r._field",
																			Start: ast.Position{
																				Column: 30,
																				Line:   33,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 31,
																					Line:   33,
																				},
																				File:   "join_agg_test.flux",
																				Source: "r",
																				Start: ast.Position{
																					Column: 30,
																					Line:   33,
																				},
																			},
																		},
																		Name: "r",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 38,
																					Line:   33,
																				},
																				File:   "join_agg_test.flux",
																				Source: "_field",
																				Start: ast.Position{
																					Column: 32,
																					Line:   33,
																				},
																			},
																		},
																		Name: "_field",
																	},
																	Rbrack: nil,
																},
																Operator: 17,
																Right: &ast.StringLiteral{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 49,
																				Line:   33,
																			},
																			File:   "join_agg_test.flux",
																			Source: "\"reads\"",
																			Start: ast.Position{
																				Column: 42,
																				Line:   33,
																			},
																		},
																	},
																	Value: "reads",
																},
															},
															Lparen: nil,
															Params: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 25,
																			Line:   33,
																		},
																		File:   "join_agg_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 24,
																			Line:   33,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 25,
																				Line:   33,
																			},
																			File:   "join_agg_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 24,
																				Line:   33,
																			},
																		},
																	},
																	Name: "r",
																},
																Separator: nil,
																Value:     nil,
															}},
															Rparan: nil,
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 50,
															Line:   33,
														},
														File:   "join_agg_test.flux",
														Source: "filter(fn: (r) => r._field == \"reads\")",
														Start: ast.Position{
															Column: 12,
															Line:   33,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 18,
																Line:   33,
															},
															File:   "join_agg_test.flux",
															Source: "filter",
															Start: ast.Position{
																Column: 12,
																Line:   33,
															},
														},
													},
													Name: "filter",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   34,
												},
												File:   "join_agg_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")\n        |> group(columns: [\"name\"])",
												Start: ast.Position{
													Column: 12,
													Line:   31,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   34,
														},
														File:   "join_agg_test.flux",
														Source: "columns: [\"name\"]",
														Start: ast.Position{
															Column: 18,
															Line:   34,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 35,
																Line:   34,
															},
															File:   "join_agg_test.flux",
															Source: "columns: [\"name\"]",
															Start: ast.Position{
																Column: 18,
																Line:   34,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   34,
																},
																File:   "join_agg_test.flux",
																Source: "columns",
																Start: ast.Position{
																	Column: 18,
																	Line:   34,
																},
															},
														},
														Name: "columns",
													},
													Separator: nil,
													Value: &ast.ArrayExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   34,
																},
																File:   "join_agg_test.flux",
																Source: "[\"name\"]",
																Start: ast.Position{
																	Column: 27,
																	Line:   34,
																},
															},
														},
														Elements: []ast.Expression{&ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 34,
																		Line:   34,
																	},
																	File:   "join_agg_test.flux",
																	Source: "\"name\"",
																	Start: ast.Position{
																		Column: 28,
																		Line:   34,
																	},
																},
															},
															Value: "name",
														}},
														Lbrack: nil,
														Rbrack: nil,
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   34,
													},
													File:   "join_agg_test.flux",
													Source: "group(columns: [\"name\"])",
													Start: ast.Position{
														Column: 12,
														Line:   34,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   34,
														},
														File:   "join_agg_test.flux",
														Source: "group",
														Start: ast.Position{
															Column: 12,
															Line:   34,
														},
													},
												},
												Name: "group",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   35,
											},
											File:   "join_agg_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])",
											Start: ast.Position{
												Column: 12,
												Line:   31,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   35,
													},
													File:   "join_agg_test.flux",
													Source: "columns: [\"name\", \"_value\"]",
													Start: ast.Position{
														Column: 17,
														Line:   35,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   35,
														},
														File:   "join_agg_test.flux",
														Source: "columns: [\"name\", \"_value\"]",
														Start: ast.Position{
															Column: 17,
															Line:   35,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 24,
																Line:   35,
															},
															File:   "join_agg_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 17,
																Line:   35,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 44,
																Line:   35,
															},
															File:   "join_agg_test.flux",
															Source: "[\"name\", \"_value\"]",
															Start: ast.Position{
																Column: 26,
																Line:   35,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   35,
																},
																File:   "join_agg_test.flux",
																Source: "\"name\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   35,
																},
															},
														},
														Value: "name",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 43,
																	Line:   35,
																},
																File:   "join_agg_test.flux",
																Source: "\"_value\"",
																Start: ast.Position{
																	Column: 35,
																	Line:   35,
																},
															},
														},
														Value: "_value",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   35,
												},
												File:   "join_agg_test.flux",
												Source: "keep(columns: [\"name\", \"_value\"])",
												Start: ast.Position{
													Column: 12,
													Line:   35,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   35,
													},
													File:   "join_agg_test.flux",
													Source: "keep",
													Start: ast.Position{
														Column: 12,
														Line:   35,
													},
												},
											},
											Name: "keep",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   36,
										},
										File:   "join_agg_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()",
										Start: ast.Position{
											Column: 12,
											Line:   31,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   36,
											},
											File:   "join_agg_test.flux",
											Source: "sum()",
											Start: ast.Position{
												Column: 12,
												Line:   36,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   36,
												},
												File:   "join_agg_test.flux",
												Source: "sum",
												Start: ast.Position{
													Column: 12,
													Line:   36,
												},
											},
										},
										Name: "sum",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 52,
										Line:   37,
									},
									File:   "join_agg_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"reads\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_reads\"})",
									Start: ast.Position{
										Column: 12,
										Line:   31,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   37,
											},
											File:   "join_agg_test.flux",
											Source: "columns: {_value: \"total_reads\"}",
											Start: ast.Position{
												Column: 19,
												Line:   37,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   37,
												},
												File:   "join_agg_test.flux",
												Source: "columns: {_value: \"total_reads\"}",
												Start: ast.Position{
													Column: 19,
													Line:   37,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   37,
													},
													File:   "join_agg_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 19,
														Line:   37,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   37,
													},
													File:   "join_agg_test.flux",
													Source: "{_value: \"total_reads\"}",
													Start: ast.Position{
														Column: 28,
														Line:   37,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 50,
															Line:   37,
														},
														File:   "join_agg_test.flux",
														Source: "_value: \"total_reads\"",
														Start: ast.Position{
															Column: 29,
															Line:   37,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 35,
																Line:   37,
															},
															File:   "join_agg_test.flux",
															Source: "_value",
															Start: ast.Position{
																Column: 29,
																Line:   37,
															},
														},
													},
													Name: "_value",
												},
												Separator: nil,
												Value: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 50,
																Line:   37,
															},
															File:   "join_agg_test.flux",
															Source: "\"total_reads\"",
															Start: ast.Position{
																Column: 37,
																Line:   37,
															},
														},
													},
													Value: "total_reads",
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 52,
											Line:   37,
										},
										File:   "join_agg_test.flux",
										Source: "rename(columns: {_value: \"total_reads\"})",
										Start: ast.Position{
											Column: 12,
											Line:   37,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   37,
											},
											File:   "join_agg_test.flux",
											Source: "rename",
											Start: ast.Position{
												Column: 12,
												Line:   37,
											},
										},
									},
									Name: "rename",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 53,
									Line:   44,
								},
								File:   "join_agg_test.flux",
								Source: "right = table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_writes\"})",
								Start: ast.Position{
									Column: 5,
									Line:   38,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   38,
									},
									File:   "join_agg_test.flux",
									Source: "right",
									Start: ast.Position{
										Column: 5,
										Line:   38,
									},
								},
							},
							Name: "right",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.PipeExpression{
												Argument: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 18,
																Line:   38,
															},
															File:   "join_agg_test.flux",
															Source: "table",
															Start: ast.Position{
																Column: 13,
																Line:   38,
															},
														},
													},
													Name: "table",
												},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   39,
														},
														File:   "join_agg_test.flux",
														Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)",
														Start: ast.Position{
															Column: 13,
															Line:   38,
														},
													},
												},
												Call: &ast.CallExpression{
													Arguments: []ast.Expression{&ast.ObjectExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   39,
																},
																File:   "join_agg_test.flux",
																Source: "start: 2018-05-22T19:53:00Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   39,
																},
															},
														},
														Lbrace: nil,
														Properties: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   39,
																	},
																	File:   "join_agg_test.flux",
																	Source: "start: 2018-05-22T19:53:00Z",
																	Start: ast.Position{
																		Column: 18,
																		Line:   39,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 23,
																			Line:   39,
																		},
																		File:   "join_agg_test.flux",
																		Source: "start",
																		Start: ast.Position{
																			Column: 18,
																			Line:   39,
																		},
																	},
																},
																Name: "start",
															},
															Separator: nil,
															Value: &ast.DateTimeLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 45,
																			Line:   39,
																		},
																		File:   "join_agg_test.flux",
																		Source: "2018-05-22T19:53:00Z",
																		Start: ast.Position{
																			Column: 25,
																			Line:   39,
																		},
																	},
																},
																Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
															},
														}},
														Rbrace: nil,
														With:   nil,
													}},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 46,
																Line:   39,
															},
															File:   "join_agg_test.flux",
															Source: "range(start: 2018-05-22T19:53:00Z)",
															Start: ast.Position{
																Column: 12,
																Line:   39,
															},
														},
													},
													Callee: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 17,
																	Line:   39,
																},
																File:   "join_agg_test.flux",
																Source: "range",
																Start: ast.Position{
																	Column: 12,
																	Line:   39,
																},
															},
														},
														Name: "range",
													},
													Lparen: nil,
													Rparen: nil,
												},
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   40,
													},
													File:   "join_agg_test.flux",
													Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")",
													Start: ast.Position{
														Column: 13,
														Line:   38,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 50,
																Line:   40,
															},
															File:   "join_agg_test.flux",
															Source: "fn: (r) => r._field == \"writes\"",
															Start: ast.Position{
																Column: 19,
																Line:   40,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 50,
																	Line:   40,
																},
																File:   "join_agg_test.flux",
																Source: "fn: (r) => r._field == \"writes\"",
																Start: ast.Position{
																	Column: 19,
																	Line:   40,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 21,
																		Line:   40,
																	},
																	File:   "join_agg_test.flux",
																	Source: "fn",
																	Start: ast.Position{
																		Column: 19,
																		Line:   40,
																	},
																},
															},
															Name: "fn",
														},
														Separator: nil,
														Value: &ast.FunctionExpression{
															Arrow: nil,
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 50,
																		Line:   40,
																	},
																	File:   "join_agg_test.flux",
																	Source: "(r) => r._field == \"writes\"",
																	Start: ast.Position{
																		Column: 23,
																		Line:   40,
																	},
																},
															},
															Body: &ast.BinaryExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 50,
																			Line:   40,
																		},
																		File:   "join_agg_test.flux",
																		Source: "r._field == \"writes\"",
																		Start: ast.Position{
																			Column: 30,
																			Line:   40,
																		},
																	},
																},
																Left: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 38,
																				Line:   40,
																			},
																			File:   "join_agg_test.flux",
																			Source: "r._field",
																			Start: ast.Position{
																				Column: 30,
																				Line:   40,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 31,
																					Line:   40,
																				},
																				File:   "join_agg_test.flux",
																				Source: "r",
																				Start: ast.Position{
																					Column: 30,
																					Line:   40,
																				},
																			},
																		},
																		Name: "r",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 38,
																					Line:   40,
																				},
																				File:   "join_agg_test.flux",
																				Source: "_field",
																				Start: ast.Position{
																					Column: 32,
																					Line:   40,
																				},
																			},
																		},
																		Name: "_field",
																	},
																	Rbrack: nil,
																},
																Operator: 17,
																Right: &ast.StringLiteral{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 50,
																				Line:   40,
																			},
																			File:   "join_agg_test.flux",
																			Source: "\"writes\"",
																			Start: ast.Position{
																				Column: 42,
																				Line:   40,
																			},
																		},
																	},
																	Value: "writes",
																},
															},
															Lparen: nil,
															Params: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 25,
																			Line:   40,
																		},
																		File:   "join_agg_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 24,
																			Line:   40,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 25,
																				Line:   40,
																			},
																			File:   "join_agg_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 24,
																				Line:   40,
																			},
																		},
																	},
																	Name: "r",
																},
																Separator: nil,
																Value:     nil,
															}},
															Rparan: nil,
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   40,
														},
														File:   "join_agg_test.flux",
														Source: "filter(fn: (r) => r._field == \"writes\")",
														Start: ast.Position{
															Column: 12,
															Line:   40,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 18,
																Line:   40,
															},
															File:   "join_agg_test.flux",
															Source: "filter",
															Start: ast.Position{
																Column: 12,
																Line:   40,
															},
														},
													},
													Name: "filter",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   41,
												},
												File:   "join_agg_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")\n        |> group(columns: [\"name\"])",
												Start: ast.Position{
													Column: 13,
													Line:   38,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   41,
														},
														File:   "join_agg_test.flux",
														Source: "columns: [\"name\"]",
														Start: ast.Position{
															Column: 18,
															Line:   41,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 35,
																Line:   41,
															},
															File:   "join_agg_test.flux",
															Source: "columns: [\"name\"]",
															Start: ast.Position{
																Column: 18,
																Line:   41,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   41,
																},
																File:   "join_agg_test.flux",
																Source: "columns",
																Start: ast.Position{
																	Column: 18,
																	Line:   41,
																},
															},
														},
														Name: "columns",
													},
													Separator: nil,
													Value: &ast.ArrayExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   41,
																},
																File:   "join_agg_test.flux",
																Source: "[\"name\"]",
																Start: ast.Position{
																	Column: 27,
																	Line:   41,
																},
															},
														},
														Elements: []ast.Expression{&ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 34,
																		Line:   41,
																	},
																	File:   "join_agg_test.flux",
																	Source: "\"name\"",
																	Start: ast.Position{
																		Column: 28,
																		Line:   41,
																	},
																},
															},
															Value: "name",
														}},
														Lbrack: nil,
														Rbrack: nil,
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   41,
													},
													File:   "join_agg_test.flux",
													Source: "group(columns: [\"name\"])",
													Start: ast.Position{
														Column: 12,
														Line:   41,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   41,
														},
														File:   "join_agg_test.flux",
														Source: "group",
														Start: ast.Position{
															Column: 12,
															Line:   41,
														},
													},
												},
												Name: "group",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   42,
											},
											File:   "join_agg_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])",
											Start: ast.Position{
												Column: 13,
												Line:   38,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   42,
													},
													File:   "join_agg_test.flux",
													Source: "columns: [\"name\", \"_value\"]",
													Start: ast.Position{
														Column: 17,
														Line:   42,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   42,
														},
														File:   "join_agg_test.flux",
														Source: "columns: [\"name\", \"_value\"]",
														Start: ast.Position{
															Column: 17,
															Line:   42,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 24,
																Line:   42,
															},
															File:   "join_agg_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 17,
																Line:   42,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 44,
																Line:   42,
															},
															File:   "join_agg_test.flux",
															Source: "[\"name\", \"_value\"]",
															Start: ast.Position{
																Column: 26,
																Line:   42,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   42,
																},
																File:   "join_agg_test.flux",
																Source: "\"name\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   42,
																},
															},
														},
														Value: "name",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 43,
																	Line:   42,
																},
																File:   "join_agg_test.flux",
																Source: "\"_value\"",
																Start: ast.Position{
																	Column: 35,
																	Line:   42,
																},
															},
														},
														Value: "_value",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   42,
												},
												File:   "join_agg_test.flux",
												Source: "keep(columns: [\"name\", \"_value\"])",
												Start: ast.Position{
													Column: 12,
													Line:   42,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   42,
													},
													File:   "join_agg_test.flux",
													Source: "keep",
													Start: ast.Position{
														Column: 12,
														Line:   42,
													},
												},
											},
											Name: "keep",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   43,
										},
										File:   "join_agg_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()",
										Start: ast.Position{
											Column: 13,
											Line:   38,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   43,
											},
											File:   "join_agg_test.flux",
											Source: "sum()",
											Start: ast.Position{
												Column: 12,
												Line:   43,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   43,
												},
												File:   "join_agg_test.flux",
												Source: "sum",
												Start: ast.Position{
													Column: 12,
													Line:   43,
												},
											},
										},
										Name: "sum",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 53,
										Line:   44,
									},
									File:   "join_agg_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z)\n        |> filter(fn: (r) => r._field == \"writes\")\n        |> group(columns: [\"name\"])\n        |> keep(columns: [\"name\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"total_writes\"})",
									Start: ast.Position{
										Column: 13,
										Line:   38,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   44,
											},
											File:   "join_agg_test.flux",
											Source: "columns: {_value: \"total_writes\"}",
											Start: ast.Position{
												Column: 19,
												Line:   44,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   44,
												},
												File:   "join_agg_test.flux",
												Source: "columns: {_value: \"total_writes\"}",
												Start: ast.Position{
													Column: 19,
													Line:   44,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   44,
													},
													File:   "join_agg_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 19,
														Line:   44,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   44,
													},
													File:   "join_agg_test.flux",
													Source: "{_value: \"total_writes\"}",
													Start: ast.Position{
														Column: 28,
														Line:   44,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   44,
														},
														File:   "join_agg_test.flux",
														Source: "_value: \"total_writes\"",
														Start: ast.Position{
															Column: 29,
															Line:   44,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 35,
																Line:   44,
															},
															File:   "join_agg_test.flux",
															Source: "_value",
															Start: ast.Position{
																Column: 29,
																Line:   44,
															},
														},
													},
													Name: "_value",
												},
												Separator: nil,
												Value: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 51,
																Line:   44,
															},
															File:   "join_agg_test.flux",
															Source: "\"total_writes\"",
															Start: ast.Position{
																Column: 37,
																Line:   44,
															},
														},
													},
													Value: "total_writes",
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 53,
											Line:   44,
										},
										File:   "join_agg_test.flux",
										Source: "rename(columns: {_value: \"total_writes\"})",
										Start: ast.Position{
											Column: 12,
											Line:   44,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   44,
											},
											File:   "join_agg_test.flux",
											Source: "rename",
											Start: ast.Position{
												Column: 12,
												Line:   44,
											},
										},
									},
									Name: "rename",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 52,
											Line:   46,
										},
										File:   "join_agg_test.flux",
										Source: "tables: {left, right}, on: [\"name\"]",
										Start: ast.Position{
											Column: 17,
											Line:   46,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   46,
											},
											File:   "join_agg_test.flux",
											Source: "tables: {left, right}",
											Start: ast.Position{
												Column: 17,
												Line:   46,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 23,
													Line:   46,
												},
												File:   "join_agg_test.flux",
												Source: "tables",
												Start: ast.Position{
													Column: 17,
													Line:   46,
												},
											},
										},
										Name: "tables",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 38,
													Line:   46,
												},
												File:   "join_agg_test.flux",
												Source: "{left, right}",
												Start: ast.Position{
													Column: 25,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   46,
													},
													File:   "join_agg_test.flux",
													Source: "left",
													Start: ast.Position{
														Column: 26,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   46,
														},
														File:   "join_agg_test.flux",
														Source: "left",
														Start: ast.Position{
															Column: 26,
															Line:   46,
														},
													},
												},
												Name: "left",
											},
											Separator: nil,
											Value:     nil,
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   46,
													},
													File:   "join_agg_test.flux",
													Source: "right",
													Start: ast.Position{
														Column: 32,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 37,
															Line:   46,
														},
														File:   "join_agg_test.flux",
														Source: "right",
														Start: ast.Position{
															Column: 32,
															Line:   46,
														},
													},
												},
												Name: "right",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rbrace: nil,
										With:   nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   46,
											},
											File:   "join_agg_test.flux",
											Source: "on: [\"name\"]",
											Start: ast.Position{
												Column: 40,
												Line:   46,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   46,
												},
												File:   "join_agg_test.flux",
												Source: "on",
												Start: ast.Position{
													Column: 40,
													Line:   46,
												},
											},
										},
										Name: "on",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   46,
												},
												File:   "join_agg_test.flux",
												Source: "[\"name\"]",
												Start: ast.Position{
													Column: 44,
													Line:   46,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   46,
													},
													File:   "join_agg_test.flux",
													Source: "\"name\"",
													Start: ast.Position{
														Column: 45,
														Line:   46,
													},
												},
											},
											Value: "name",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 53,
										Line:   46,
									},
									File:   "join_agg_test.flux",
									Source: "join(tables: {left, right}, on: [\"name\"])",
									Start: ast.Position{
										Column: 12,
										Line:   46,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   46,
										},
										File:   "join_agg_test.flux",
										Source: "join",
										Start: ast.Position{
											Column: 12,
											Line:   46,
										},
									},
								},
								Name: "join",
							},
							Lparen: nil,
							Rparen: nil,
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 53,
									Line:   46,
								},
								File:   "join_agg_test.flux",
								Source: "return join(tables: {left, right}, on: [\"name\"])",
								Start: ast.Position{
									Column: 5,
									Line:   46,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   30,
							},
							File:   "join_agg_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   30,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   30,
								},
								File:   "join_agg_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   30,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   30,
							},
							File:   "join_agg_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   30,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   49,
						},
						File:   "join_agg_test.flux",
						Source: "_join = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_joinNoOn})",
						Start: ast.Position{
							Column: 6,
							Line:   49,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   49,
							},
							File:   "join_agg_test.flux",
							Source: "_join",
							Start: ast.Position{
								Column: 6,
								Line:   49,
							},
						},
					},
					Name: "_join",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   49,
							},
							File:   "join_agg_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_joinNoOn})",
							Start: ast.Position{
								Column: 14,
								Line:   49,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   49,
								},
								File:   "join_agg_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_joinNoOn})",
								Start: ast.Position{
									Column: 20,
									Line:   49,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   49,
									},
									File:   "join_agg_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_joinNoOn}",
									Start: ast.Position{
										Column: 21,
										Line:   49,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   49,
										},
										File:   "join_agg_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   49,
											},
											File:   "join_agg_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   49,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   49,
												},
												File:   "join_agg_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   49,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   49,
													},
													File:   "join_agg_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   49,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   49,
														},
														File:   "join_agg_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   49,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   49,
														},
														File:   "join_agg_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   49,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   49,
											},
											File:   "join_agg_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   49,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   49,
												},
												File:   "join_agg_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   49,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   49,
													},
													File:   "join_agg_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   49,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   49,
													},
													File:   "join_agg_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   49,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   49,
										},
										File:   "join_agg_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   49,
											},
											File:   "join_agg_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   49,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   49,
												},
												File:   "join_agg_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   49,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   49,
													},
													File:   "join_agg_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   49,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   49,
														},
														File:   "join_agg_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   49,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   49,
														},
														File:   "join_agg_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   49,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   49,
											},
											File:   "join_agg_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   49,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   49,
												},
												File:   "join_agg_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   49,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   49,
													},
													File:   "join_agg_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   49,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   49,
													},
													File:   "join_agg_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   49,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   49,
										},
										File:   "join_agg_test.flux",
										Source: "fn: t_joinNoOn",
										Start: ast.Position{
											Column: 100,
											Line:   49,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   49,
											},
											File:   "join_agg_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   49,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   49,
											},
											File:   "join_agg_test.flux",
											Source: "t_joinNoOn",
											Start: ast.Position{
												Column: 104,
												Line:   49,
											},
										},
									},
									Name: "t_joinNoOn",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   49,
					},
					File:   "join_agg_test.flux",
					Source: "test _join = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_joinNoOn})",
					Start: ast.Position{
						Column: 1,
						Line:   49,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "join_agg_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "join_agg_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "join_agg_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "join_agg_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "join_agg_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 142,
					Line:   58,
				},
				File:   "join_missing_on_col_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,long\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,status\n,_result,0,2019-09-12T20:00:00Z,510,resp_bytes,http_request,400\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,long\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,org_id,status\n,_result,0,2019-09-12T20:00:00Z,180654,resp_bytes,http_request,03b60149f6fb9000,200\n,_result,1,2019-09-12T20:00:00Z,144,resp_bytes,http_request,039e9eb802d3f000,500\n,_result,2,2019-09-12T20:00:00Z,152,resp_bytes,http_request,03a2c4456f0f5000,500\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,long\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,org_id,status\n,_result,0,2019-09-12T20:00:00Z,870346480,req_bytes,http_request,03b60149f6fb9000,204\n,_result,1,2019-09-12T20:00:00Z,9654177,req_bytes,http_request,039e9eb802d3f000,204\n,_result,2,2019-09-12T20:00:00Z,33784154,req_bytes,http_request,03a2c4456f0f5000,204\n,_result,3,2019-09-12T20:00:00Z,48275,req_bytes,http_request,03c68af671227000,204\n\"\noutData = \"\n#datatype,string,long,long,long,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,datain,dataout,org_id\n,_result,0,870346480,180654,03b60149f6fb9000\n,_result,1,9654177,144,039e9eb802d3f000\n,_result,2,33784154,152,03a2c4456f0f5000\n\"\nt_join_missing_on_col = (tables=<-) => {\n    lhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"resp_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"dataout\"})\n    rhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"req_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"datain\"})\n\n    return join(tables: {lhs: lhs, rhs: rhs}, on: [\"org_id\"])\n}\n\ntest _join_missing_on_col = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_missing_on_col})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "join_missing_on_col_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "join_missing_on_col_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "join_missing_on_col_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "join_missing_on_col_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "join_missing_on_col_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,long\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,status\n,_result,0,2019-09-12T20:00:00Z,510,resp_bytes,http_request,400\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,long\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,org_id,status\n,_result,0,2019-09-12T20:00:00Z,180654,resp_bytes,http_request,03b60149f6fb9000,200\n,_result,1,2019-09-12T20:00:00Z,144,resp_bytes,http_request,039e9eb802d3f000,500\n,_result,2,2019-09-12T20:00:00Z,152,resp_bytes,http_request,03a2c4456f0f5000,500\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,long\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,org_id,status\n,_result,0,2019-09-12T20:00:00Z,870346480,req_bytes,http_request,03b60149f6fb9000,204\n,_result,1,2019-09-12T20:00:00Z,9654177,req_bytes,http_request,039e9eb802d3f000,204\n,_result,2,2019-09-12T20:00:00Z,33784154,req_bytes,http_request,03a2c4456f0f5000,204\n,_result,3,2019-09-12T20:00:00Z,48275,req_bytes,http_request,03c68af671227000,204\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,long\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,status\n,_result,0,2019-09-12T20:00:00Z,510,resp_bytes,http_request,400\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,long\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,org_id,status\n,_result,0,2019-09-12T20:00:00Z,180654,resp_bytes,http_request,03b60149f6fb9000,200\n,_result,1,2019-09-12T20:00:00Z,144,resp_bytes,http_request,039e9eb802d3f000,500\n,_result,2,2019-09-12T20:00:00Z,152,resp_bytes,http_request,03a2c4456f0f5000,500\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,long\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,org_id,status\n,_result,0,2019-09-12T20:00:00Z,870346480,req_bytes,http_request,03b60149f6fb9000,204\n,_result,1,2019-09-12T20:00:00Z,9654177,req_bytes,http_request,039e9eb802d3f000,204\n,_result,2,2019-09-12T20:00:00Z,33784154,req_bytes,http_request,03a2c4456f0f5000,204\n,_result,3,2019-09-12T20:00:00Z,48275,req_bytes,http_request,03c68af671227000,204\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,long\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,status\n,_result,0,2019-09-12T20:00:00Z,510,resp_bytes,http_request,400\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,long\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,org_id,status\n,_result,0,2019-09-12T20:00:00Z,180654,resp_bytes,http_request,03b60149f6fb9000,200\n,_result,1,2019-09-12T20:00:00Z,144,resp_bytes,http_request,039e9eb802d3f000,500\n,_result,2,2019-09-12T20:00:00Z,152,resp_bytes,http_request,03a2c4456f0f5000,500\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,long\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,org_id,status\n,_result,0,2019-09-12T20:00:00Z,870346480,req_bytes,http_request,03b60149f6fb9000,204\n,_result,1,2019-09-12T20:00:00Z,9654177,req_bytes,http_request,039e9eb802d3f000,204\n,_result,2,2019-09-12T20:00:00Z,33784154,req_bytes,http_request,03a2c4456f0f5000,204\n,_result,3,2019-09-12T20:00:00Z,48275,req_bytes,http_request,03c68af671227000,204\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   40,
					},
					File:   "join_missing_on_col_test.flux",
					Source: "outData = \"\n#datatype,string,long,long,long,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,datain,dataout,org_id\n,_result,0,870346480,180654,03b60149f6fb9000\n,_result,1,9654177,144,039e9eb802d3f000\n,_result,2,33784154,152,03a2c4456f0f5000\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   40,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "\"\n#datatype,string,long,long,long,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,datain,dataout,org_id\n,_result,0,870346480,180654,03b60149f6fb9000\n,_result,1,9654177,144,039e9eb802d3f000\n,_result,2,33784154,152,03a2c4456f0f5000\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,long,long,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,datain,dataout,org_id\n,_result,0,870346480,180654,03b60149f6fb9000\n,_result,1,9654177,144,039e9eb802d3f000\n,_result,2,33784154,152,03a2c4456f0f5000\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   56,
					},
					File:   "join_missing_on_col_test.flux",
					Source: "t_join_missing_on_col = (tables=<-) => {\n    lhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"resp_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"dataout\"})\n    rhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"req_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"datain\"})\n\n    return join(tables: {lhs: lhs, rhs: rhs}, on: [\"org_id\"])\n}",
					Start: ast.Position{
						Column: 1,
						Line:   41,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   41,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "t_join_missing_on_col",
						Start: ast.Position{
							Column: 1,
							Line:   41,
						},
					},
				},
				Name: "t_join_missing_on_col",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   56,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "(tables=<-) => {\n    lhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"resp_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"dataout\"})\n    rhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"req_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"datain\"})\n\n    return join(tables: {lhs: lhs, rhs: rhs}, on: [\"org_id\"])\n}",
						Start: ast.Position{
							Column: 25,
							Line:   41,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   56,
							},
							File:   "join_missing_on_col_test.flux",
							Source: "{\n    lhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"resp_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"dataout\"})\n    rhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"req_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"datain\"})\n\n    return join(tables: {lhs: lhs, rhs: rhs}, on: [\"org_id\"])\n}",
							Start: ast.Position{
								Column: 40,
								Line:   41,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 48,
									Line:   47,
								},
								File:   "join_missing_on_col_test.flux",
								Source: "lhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"resp_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"dataout\"})",
								Start: ast.Position{
									Column: 5,
									Line:   42,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 8,
										Line:   42,
									},
									File:   "join_missing_on_col_test.flux",
									Source: "lhs",
									Start: ast.Position{
										Column: 5,
										Line:   42,
									},
								},
							},
							Name: "lhs",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   42,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "tables",
														Start: ast.Position{
															Column: 11,
															Line:   42,
														},
													},
												},
												Name: "tables",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   43,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)",
													Start: ast.Position{
														Column: 11,
														Line:   42,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   43,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "start: 2019-01-01T00:00:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   43,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   43,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "start: 2019-01-01T00:00:00Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   43,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   43,
																	},
																	File:   "join_missing_on_col_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   43,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   43,
																	},
																	File:   "join_missing_on_col_test.flux",
																	Source: "2019-01-01T00:00:00Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   43,
																	},
																},
															},
															Value: parser.MustParseTime("2019-01-01T00:00:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   43,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "range(start: 2019-01-01T00:00:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   43,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   43,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   43,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   44,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"resp_bytes\")",
												Start: ast.Position{
													Column: 11,
													Line:   42,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   44,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "fn: (r) => r._field == \"resp_bytes\"",
														Start: ast.Position{
															Column: 19,
															Line:   44,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 54,
																Line:   44,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "fn: (r) => r._field == \"resp_bytes\"",
															Start: ast.Position{
																Column: 19,
																Line:   44,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 21,
																	Line:   44,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 19,
																	Line:   44,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.FunctionExpression{
														Arrow: nil,
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 54,
																	Line:   44,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "(r) => r._field == \"resp_bytes\"",
																Start: ast.Position{
																	Column: 23,
																	Line:   44,
																},
															},
														},
														Body: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 54,
																		Line:   44,
																	},
																	File:   "join_missing_on_col_test.flux",
																	Source: "r._field == \"resp_bytes\"",
																	Start: ast.Position{
																		Column: 30,
																		Line:   44,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 38,
																			Line:   44,
																		},
																		File:   "join_missing_on_col_test.flux",
																		Source: "r._field",
																		Start: ast.Position{
																			Column: 30,
																			Line:   44,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 31,
																				Line:   44,
																			},
																			File:   "join_missing_on_col_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 30,
																				Line:   44,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 38,
																				Line:   44,
																			},
																			File:   "join_missing_on_col_test.flux",
																			Source: "_field",
																			Start: ast.Position{
																				Column: 32,
																				Line:   44,
																			},
																		},
																	},
																	Name: "_field",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 54,
																			Line:   44,
																		},
																		File:   "join_missing_on_col_test.flux",
																		Source: "\"resp_bytes\"",
																		Start: ast.Position{
																			Column: 42,
																			Line:   44,
																		},
																	},
																},
																Value: "resp_bytes",
															},
														},
														Lparen: nil,
														Params: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   44,
																	},
																	File:   "join_missing_on_col_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 24,
																		Line:   44,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 25,
																			Line:   44,
																		},
																		File:   "join_missing_on_col_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 24,
																			Line:   44,
																		},
																	},
																},
																Name: "r",
															},
															Separator: nil,
															Value:     nil,
														}},
														Rparan: nil,
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   44,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "filter(fn: (r) => r._field == \"resp_bytes\")",
													Start: ast.Position{
														Column: 12,
														Line:   44,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   44,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "filter",
														Start: ast.Position{
															Column: 12,
															Line:   44,
														},
													},
												},
												Name: "filter",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 56,
												Line:   45,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"resp_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])",
											Start: ast.Position{
												Column: 11,
												Line:   42,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   45,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "columns: [\"_time\", \"org_id\", \"_value\"]",
													Start: ast.Position{
														Column: 17,
														Line:   45,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 55,
															Line:   45,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "columns: [\"_time\", \"org_id\", \"_value\"]",
														Start: ast.Position{
															Column: 17,
															Line:   45,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 24,
																Line:   45,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 17,
																Line:   45,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 55,
																Line:   45,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "[\"_time\", \"org_id\", \"_value\"]",
															Start: ast.Position{
																Column: 26,
																Line:   45,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 34,
																	Line:   45,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "\"_time\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   45,
																},
															},
														},
														Value: "_time",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   45,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "\"org_id\"",
																Start: ast.Position{
																	Column: 36,
																	Line:   45,
																},
															},
														},
														Value: "org_id",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 54,
																	Line:   45,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "\"_value\"",
																Start: ast.Position{
																	Column: 46,
																	Line:   45,
																},
															},
														},
														Value: "_value",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   45,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "keep(columns: [\"_time\", \"org_id\", \"_value\"])",
												Start: ast.Position{
													Column: 12,
													Line:   45,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   45,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "keep",
													Start: ast.Position{
														Column: 12,
														Line:   45,
													},
												},
											},
											Name: "keep",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   46,
										},
										File:   "join_missing_on_col_test.flux",
										Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"resp_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()",
										Start: ast.Position{
											Column: 11,
											Line:   42,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   46,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "sum()",
											Start: ast.Position{
												Column: 12,
												Line:   46,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   46,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "sum",
												Start: ast.Position{
													Column: 12,
													Line:   46,
												},
											},
										},
										Name: "sum",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   47,
									},
									File:   "join_missing_on_col_test.flux",
									Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"resp_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"dataout\"})",
									Start: ast.Position{
										Column: 11,
										Line:   42,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   47,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "columns: {_value: \"dataout\"}",
											Start: ast.Position{
												Column: 19,
												Line:   47,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   47,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "columns: {_value: \"dataout\"}",
												Start: ast.Position{
													Column: 19,
													Line:   47,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   47,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 19,
														Line:   47,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   47,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "{_value: \"dataout\"}",
													Start: ast.Position{
														Column: 28,
														Line:   47,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   47,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "_value: \"dataout\"",
														Start: ast.Position{
															Column: 29,
															Line:   47,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 35,
																Line:   47,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "_value",
															Start: ast.Position{
																Column: 29,
																Line:   47,
															},
														},
													},
													Name: "_value",
												},
												Separator: nil,
												Value: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 46,
																Line:   47,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "\"dataout\"",
															Start: ast.Position{
																Column: 37,
																Line:   47,
															},
														},
													},
													Value: "dataout",
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   47,
										},
										File:   "join_missing_on_col_test.flux",
										Source: "rename(columns: {_value: \"dataout\"})",
										Start: ast.Position{
											Column: 12,
											Line:   47,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   47,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "rename",
											Start: ast.Position{
												Column: 12,
												Line:   47,
											},
										},
									},
									Name: "rename",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 47,
									Line:   53,
								},
								File:   "join_missing_on_col_test.flux",
								Source: "rhs = tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"req_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"datain\"})",
								Start: ast.Position{
									Column: 5,
									Line:   48,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 8,
										Line:   48,
									},
									File:   "join_missing_on_col_test.flux",
									Source: "rhs",
									Start: ast.Position{
										Column: 5,
										Line:   48,
									},
								},
							},
							Name: "rhs",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   48,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "tables",
														Start: ast.Position{
															Column: 11,
															Line:   48,
														},
													},
												},
												Name: "tables",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   49,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)",
													Start: ast.Position{
														Column: 11,
														Line:   48,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   49,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "start: 2019-01-01T00:00:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   49,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   49,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "start: 2019-01-01T00:00:00Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   49,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   49,
																	},
																	File:   "join_missing_on_col_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   49,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   49,
																	},
																	File:   "join_missing_on_col_test.flux",
																	Source: "2019-01-01T00:00:00Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   49,
																	},
																},
															},
															Value: parser.MustParseTime("2019-01-01T00:00:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   49,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "range(start: 2019-01-01T00:00:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   49,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   49,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   49,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   50,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"req_bytes\")",
												Start: ast.Position{
													Column: 11,
													Line:   48,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   50,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "fn: (r) => r._field == \"req_bytes\"",
														Start: ast.Position{
															Column: 19,
															Line:   50,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 53,
																Line:   50,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "fn: (r) => r._field == \"req_bytes\"",
															Start: ast.Position{
																Column: 19,
																Line:   50,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 21,
																	Line:   50,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 19,
																	Line:   50,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.FunctionExpression{
														Arrow: nil,
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 53,
																	Line:   50,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "(r) => r._field == \"req_bytes\"",
																Start: ast.Position{
																	Column: 23,
																	Line:   50,
																},
															},
														},
														Body: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 53,
																		Line:   50,
																	},
																	File:   "join_missing_on_col_test.flux",
																	Source: "r._field == \"req_bytes\"",
																	Start: ast.Position{
																		Column: 30,
																		Line:   50,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 38,
																			Line:   50,
																		},
																		File:   "join_missing_on_col_test.flux",
																		Source: "r._field",
																		Start: ast.Position{
																			Column: 30,
																			Line:   50,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 31,
																				Line:   50,
																			},
																			File:   "join_missing_on_col_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 30,
																				Line:   50,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 38,
																				Line:   50,
																			},
																			File:   "join_missing_on_col_test.flux",
																			Source: "_field",
																			Start: ast.Position{
																				Column: 32,
																				Line:   50,
																			},
																		},
																	},
																	Name: "_field",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 53,
																			Line:   50,
																		},
																		File:   "join_missing_on_col_test.flux",
																		Source: "\"req_bytes\"",
																		Start: ast.Position{
																			Column: 42,
																			Line:   50,
																		},
																	},
																},
																Value: "req_bytes",
															},
														},
														Lparen: nil,
														Params: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   50,
																	},
																	File:   "join_missing_on_col_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 24,
																		Line:   50,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 25,
																			Line:   50,
																		},
																		File:   "join_missing_on_col_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 24,
																			Line:   50,
																		},
																	},
																},
																Name: "r",
															},
															Separator: nil,
															Value:     nil,
														}},
														Rparan: nil,
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   50,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "filter(fn: (r) => r._field == \"req_bytes\")",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   50,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "filter",
														Start: ast.Position{
															Column: 12,
															Line:   50,
														},
													},
												},
												Name: "filter",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 56,
												Line:   51,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"req_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])",
											Start: ast.Position{
												Column: 11,
												Line:   48,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   51,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "columns: [\"_time\", \"org_id\", \"_value\"]",
													Start: ast.Position{
														Column: 17,
														Line:   51,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 55,
															Line:   51,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "columns: [\"_time\", \"org_id\", \"_value\"]",
														Start: ast.Position{
															Column: 17,
															Line:   51,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 24,
																Line:   51,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 17,
																Line:   51,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 55,
																Line:   51,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "[\"_time\", \"org_id\", \"_value\"]",
															Start: ast.Position{
																Column: 26,
																Line:   51,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 34,
																	Line:   51,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "\"_time\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   51,
																},
															},
														},
														Value: "_time",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   51,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "\"org_id\"",
																Start: ast.Position{
																	Column: 36,
																	Line:   51,
																},
															},
														},
														Value: "org_id",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 54,
																	Line:   51,
																},
																File:   "join_missing_on_col_test.flux",
																Source: "\"_value\"",
																Start: ast.Position{
																	Column: 46,
																	Line:   51,
																},
															},
														},
														Value: "_value",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   51,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "keep(columns: [\"_time\", \"org_id\", \"_value\"])",
												Start: ast.Position{
													Column: 12,
													Line:   51,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   51,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "keep",
													Start: ast.Position{
														Column: 12,
														Line:   51,
													},
												},
											},
											Name: "keep",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   52,
										},
										File:   "join_missing_on_col_test.flux",
										Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"req_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()",
										Start: ast.Position{
											Column: 11,
											Line:   48,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   52,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "sum()",
											Start: ast.Position{
												Column: 12,
												Line:   52,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   52,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "sum",
												Start: ast.Position{
													Column: 12,
													Line:   52,
												},
											},
										},
										Name: "sum",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 47,
										Line:   53,
									},
									File:   "join_missing_on_col_test.flux",
									Source: "tables\n        |> range(start: 2019-01-01T00:00:00Z)\n        |> filter(fn: (r) => r._field == \"req_bytes\")\n        |> keep(columns: [\"_time\", \"org_id\", \"_value\"])\n        |> sum()\n        |> rename(columns: {_value: \"datain\"})",
									Start: ast.Position{
										Column: 11,
										Line:   48,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   53,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "columns: {_value: \"datain\"}",
											Start: ast.Position{
												Column: 19,
												Line:   53,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   53,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "columns: {_value: \"datain\"}",
												Start: ast.Position{
													Column: 19,
													Line:   53,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   53,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 19,
														Line:   53,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   53,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "{_value: \"datain\"}",
													Start: ast.Position{
														Column: 28,
														Line:   53,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   53,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "_value: \"datain\"",
														Start: ast.Position{
															Column: 29,
															Line:   53,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 35,
																Line:   53,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "_value",
															Start: ast.Position{
																Column: 29,
																Line:   53,
															},
														},
													},
													Name: "_value",
												},
												Separator: nil,
												Value: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   53,
															},
															File:   "join_missing_on_col_test.flux",
															Source: "\"datain\"",
															Start: ast.Position{
																Column: 37,
																Line:   53,
															},
														},
													},
													Value: "datain",
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 47,
											Line:   53,
										},
										File:   "join_missing_on_col_test.flux",
										Source: "rename(columns: {_value: \"datain\"})",
										Start: ast.Position{
											Column: 12,
											Line:   53,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   53,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "rename",
											Start: ast.Position{
												Column: 12,
												Line:   53,
											},
										},
									},
									Name: "rename",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   55,
										},
										File:   "join_missing_on_col_test.flux",
										Source: "tables: {lhs: lhs, rhs: rhs}, on: [\"org_id\"]",
										Start: ast.Position{
											Column: 17,
											Line:   55,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   55,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "tables: {lhs: lhs, rhs: rhs}",
											Start: ast.Position{
												Column: 17,
												Line:   55,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 23,
													Line:   55,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "tables",
												Start: ast.Position{
													Column: 17,
													Line:   55,
												},
											},
										},
										Name: "tables",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   55,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "{lhs: lhs, rhs: rhs}",
												Start: ast.Position{
													Column: 25,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   55,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "lhs: lhs",
													Start: ast.Position{
														Column: 26,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 29,
															Line:   55,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "lhs",
														Start: ast.Position{
															Column: 26,
															Line:   55,
														},
													},
												},
												Name: "lhs",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   55,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "lhs",
														Start: ast.Position{
															Column: 31,
															Line:   55,
														},
													},
												},
												Name: "lhs",
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   55,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "rhs: rhs",
													Start: ast.Position{
														Column: 36,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   55,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "rhs",
														Start: ast.Position{
															Column: 36,
															Line:   55,
														},
													},
												},
												Name: "rhs",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   55,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "rhs",
														Start: ast.Position{
															Column: 41,
															Line:   55,
														},
													},
												},
												Name: "rhs",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   55,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "on: [\"org_id\"]",
											Start: ast.Position{
												Column: 47,
												Line:   55,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   55,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "on",
												Start: ast.Position{
													Column: 47,
													Line:   55,
												},
											},
										},
										Name: "on",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   55,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "[\"org_id\"]",
												Start: ast.Position{
													Column: 51,
													Line:   55,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   55,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "\"org_id\"",
													Start: ast.Position{
														Column: 52,
														Line:   55,
													},
												},
											},
											Value: "org_id",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 62,
										Line:   55,
									},
									File:   "join_missing_on_col_test.flux",
									Source: "join(tables: {lhs: lhs, rhs: rhs}, on: [\"org_id\"])",
									Start: ast.Position{
										Column: 12,
										Line:   55,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   55,
										},
										File:   "join_missing_on_col_test.flux",
										Source: "join",
										Start: ast.Position{
											Column: 12,
											Line:   55,
										},
									},
								},
								Name: "join",
							},
							Lparen: nil,
							Rparen: nil,
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 62,
									Line:   55,
								},
								File:   "join_missing_on_col_test.flux",
								Source: "return join(tables: {lhs: lhs, rhs: rhs}, on: [\"org_id\"])",
								Start: ast.Position{
									Column: 5,
									Line:   55,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   41,
							},
							File:   "join_missing_on_col_test.flux",
							Source: "tables=<-",
							Start: ast.Position{
								Column: 26,
								Line:   41,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 32,
									Line:   41,
								},
								File:   "join_missing_on_col_test.flux",
								Source: "tables",
								Start: ast.Position{
									Column: 26,
									Line:   41,
								},
							},
						},
						Name: "tables",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   41,
							},
							File:   "join_missing_on_col_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 33,
								Line:   41,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 142,
							Line:   58,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "_join_missing_on_col = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_missing_on_col})",
						Start: ast.Position{
							Column: 6,
							Line:   58,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   58,
							},
							File:   "join_missing_on_col_test.flux",
							Source: "_join_missing_on_col",
							Start: ast.Position{
								Column: 6,
								Line:   58,
							},
						},
					},
					Name: "_join_missing_on_col",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 142,
								Line:   58,
							},
							File:   "join_missing_on_col_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_missing_on_col})",
							Start: ast.Position{
								Column: 29,
								Line:   58,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 142,
									Line:   58,
								},
								File:   "join_missing_on_col_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_missing_on_col})",
								Start: ast.Position{
									Column: 35,
									Line:   58,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 141,
										Line:   58,
									},
									File:   "join_missing_on_col_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_missing_on_col}",
									Start: ast.Position{
										Column: 36,
										Line:   58,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   58,
										},
										File:   "join_missing_on_col_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 37,
											Line:   58,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   58,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 37,
												Line:   58,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 75,
													Line:   58,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 64,
													Line:   58,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   58,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 64,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   58,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 64,
															Line:   58,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   58,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 69,
															Line:   58,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   58,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 44,
												Line:   58,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   58,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 44,
													Line:   58,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   58,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 44,
														Line:   58,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   58,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 52,
														Line:   58,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 113,
											Line:   58,
										},
										File:   "join_missing_on_col_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 78,
											Line:   58,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   58,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 78,
												Line:   58,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 112,
													Line:   58,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 100,
													Line:   58,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 112,
														Line:   58,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 100,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   58,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 100,
															Line:   58,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 112,
															Line:   58,
														},
														File:   "join_missing_on_col_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 105,
															Line:   58,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   58,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 84,
												Line:   58,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   58,
												},
												File:   "join_missing_on_col_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 84,
													Line:   58,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   58,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 84,
														Line:   58,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   58,
													},
													File:   "join_missing_on_col_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 92,
														Line:   58,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 140,
											Line:   58,
										},
										File:   "join_missing_on_col_test.flux",
										Source: "fn: t_join_missing_on_col",
										Start: ast.Position{
											Column: 115,
											Line:   58,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 117,
												Line:   58,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 115,
												Line:   58,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 140,
												Line:   58,
											},
											File:   "join_missing_on_col_test.flux",
											Source: "t_join_missing_on_col",
											Start: ast.Position{
												Column: 119,
												Line:   58,
											},
										},
									},
									Name: "t_join_missing_on_col",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 142,
						Line:   58,
					},
					File:   "join_missing_on_col_test.flux",
					Source: "test _join_missing_on_col = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_missing_on_col})",
					Start: ast.Position{
						Column: 1,
						Line:   58,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "join_missing_on_col_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "join_missing_on_col_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "join_missing_on_col_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "join_missing_on_col_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 105,
					Line:   64,
				},
				File:   "join_panic_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\npassData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\n,result,table,_start,_stop,_time,_value,_field,_measurement,connection_security_policy,destination_app,destination_canonical_revision,destination_canonical_service,destination_principal,destination_service,destination_service_name,destination_service_namespace,destination_version,destination_workload,destination_workload_namespace,env,host,hostname,nodename,reporter,request_protocol,response_code,response_flags,source_app,source_canonical_revision,source_canonical_service,source_principal,source_version,source_workload,source_workload_namespace,url\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,20131,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,75794,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,75810,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:00Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:10Z,5002,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n\"\nfailData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\n,result,table,_start,_stop,_time,_value,_field,_measurement,connection_security_policy,destination_app,destination_canonical_revision,destination_canonical_service,destination_principal,destination_service,destination_service_name,destination_service_namespace,destination_version,destination_workload,destination_workload_namespace,env,host,hostname,nodename,reporter,request_protocol,response_code,response_flags,source_app,source_canonical_revision,source_canonical_service,source_principal,source_version,source_workload,source_workload_namespace,url\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,20131,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,20133,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,75794,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,75810,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:49:50Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:00Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:10Z,5002,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n\"\noutData = \"\n#group,false,false,false,false,false,false,false,false\n#datatype,string,long,double,double,double,string,string,string\n#default,_result,,,,,,,\n\n,result,table,_value_errors,_value_total,availability,env,response_code_errors,response_code_total\n,,0,2,2,0,prod01-us-west-2,400,400\n,,0,2,16,87.5,prod01-us-west-2,400,429\n,,0,16,2,-700,prod01-us-west-2,429,400\n,,0,16,16,0,prod01-us-west-2,429,429\n\"\nt_join_panic = (table=<-) => {\n    api_requests = table |> difference()\n    errors = api_requests\n        |> filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)\n    total = api_requests\n        //|> group(columns: [\"env\"])\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)\n\n    return join(tables: {errors: errors, total: total}, on: [\"env\"])\n        |> map(fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}))\n        |> sort(columns: [\"availability\"], desc: true)\n        |> group()\n}\n\ntest _join_panic = () => \n    // to trigger the panic, switch the testing.loadStorage() csv from `passData` to `failData`\n    ({input: testing.loadStorage(csv: passData), want: testing.loadMem(csv: outData), fn: t_join_panic})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   17,
					},
					File:   "join_panic_test.flux",
					Source: "passData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\n,result,table,_start,_stop,_time,_value,_field,_measurement,connection_security_policy,destination_app,destination_canonical_revision,destination_canonical_service,destination_principal,destination_service,destination_service_name,destination_service_namespace,destination_version,destination_workload,destination_workload_namespace,env,host,hostname,nodename,reporter,request_protocol,response_code,response_flags,source_app,source_canonical_revision,source_canonical_service,source_principal,source_version,source_workload,source_workload_namespace,url\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,20131,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,75794,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,75810,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:00Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:10Z,5002,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   6,
						},
						File:   "join_panic_test.flux",
						Source: "passData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "passData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   17,
						},
						File:   "join_panic_test.flux",
						Source: "\"\n#group,false,false,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\n,result,table,_start,_stop,_time,_value,_field,_measurement,connection_security_policy,destination_app,destination_canonical_revision,destination_canonical_service,destination_principal,destination_service,destination_service_name,destination_service_namespace,destination_version,destination_workload,destination_workload_namespace,env,host,hostname,nodename,reporter,request_protocol,response_code,response_flags,source_app,source_canonical_revision,source_canonical_service,source_principal,source_version,source_workload,source_workload_namespace,url\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,20131,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,75794,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,75810,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:00Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:10Z,5002,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n\"",
						Start: ast.Position{
							Column: 12,
							Line:   6,
						},
					},
				},
				Value: "\n#group,false,false,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\n,result,table,_start,_stop,_time,_value,_field,_measurement,connection_security_policy,destination_app,destination_canonical_revision,destination_canonical_service,destination_principal,destination_service,destination_service_name,destination_service_namespace,destination_version,destination_workload,destination_workload_namespace,env,host,hostname,nodename,reporter,request_protocol,response_code,response_flags,source_app,source_canonical_revision,source_canonical_service,source_principal,source_version,source_workload,source_workload_namespace,url\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,20131,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,75794,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,75810,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:00Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:10Z,5002,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "join_panic_test.flux",
					Source: "failData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\n,result,table,_start,_stop,_time,_value,_field,_measurement,connection_security_policy,destination_app,destination_canonical_revision,destination_canonical_service,destination_principal,destination_service,destination_service_name,destination_service_namespace,destination_version,destination_workload,destination_workload_namespace,env,host,hostname,nodename,reporter,request_protocol,response_code,response_flags,source_app,source_canonical_revision,source_canonical_service,source_principal,source_version,source_workload,source_workload_namespace,url\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,20131,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,20133,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,75794,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,75810,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:49:50Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:00Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:10Z,5002,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   18,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   18,
						},
						File:   "join_panic_test.flux",
						Source: "failData",
						Start: ast.Position{
							Column: 1,
							Line:   18,
						},
					},
				},
				Name: "failData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "join_panic_test.flux",
						Source: "\"\n#group,false,false,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\n,result,table,_start,_stop,_time,_value,_field,_measurement,connection_security_policy,destination_app,destination_canonical_revision,destination_canonical_service,destination_principal,destination_service,destination_service_name,destination_service_namespace,destination_version,destination_workload,destination_workload_namespace,env,host,hostname,nodename,reporter,request_protocol,response_code,response_flags,source_app,source_canonical_revision,source_canonical_service,source_principal,source_version,source_workload,source_workload_namespace,url\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,20131,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,20133,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,75794,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,75810,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:49:50Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:00Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:10Z,5002,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n\"",
						Start: ast.Position{
							Column: 12,
							Line:   18,
						},
					},
				},
				Value: "\n#group,false,false,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\n\n,result,table,_start,_stop,_time,_value,_field,_measurement,connection_security_policy,destination_app,destination_canonical_revision,destination_canonical_service,destination_principal,destination_service,destination_service_name,destination_service_namespace,destination_version,destination_workload,destination_workload_namespace,env,host,hostname,nodename,reporter,request_protocol,response_code,response_flags,source_app,source_canonical_revision,source_canonical_service,source_principal,source_version,source_workload,source_workload_namespace,url\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,20131,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4500,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,20133,counter,istio_requests_total,mutual_tls,gateway,v4,gateway,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/gateway,gateway-internal-meta.twodotoh.svc.prod101-us-east-1.aws.influxdata.io,gateway-internal-meta,twodotoh,v4,gateway-internal-meta,twodotoh,prod101-us-east-1,gateway-internal-meta-546b695987-6fwfg,gateway-internal-meta-546b695987-6fwfg,ip-10-143-10-201.ec2.internal,destination,http,200,-,queryd,v1,queryd,spiffe://prod101-us-east-1.aws.influxdata.io/ns/twodotoh/sa/queryd-service-account,v1,queryd-v1,twodotoh,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:20Z,75794,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4510,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:30Z,75810,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-write.twodotoh.svc.prod01.us-west-2.local,gateway-external-write,twodotoh,v4,gateway-external-write,twodotoh,prod01-us-west-2,gateway-external-write-9c6585b49-2qdpg,gateway-external-write-9c6585b49-2qdpg,ip-10-130-16-200.us-west-2.compute.internal,destination,http,429,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:49:50Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:00Z,5000,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n,,4535,2020-12-21T17:49:44.773856591Z,2020-12-21T17:50:44.773856591Z,2020-12-21T17:50:10Z,5002,counter,istio_requests_total,none,gateway,v4,gateway,unknown,gateway-external-query.twodotoh.svc.prod01.us-west-2.local,gateway-external-query,twodotoh,v4,gateway-external-query,twodotoh,prod01-us-west-2,gateway-external-query-b499584c-65xvz,gateway-external-query-b499584c-65xvz,ip-10-130-16-33.us-west-2.compute.internal,destination,http,400,-,unknown,latest,unknown,unknown,unknown,unknown,unknown,http://127.0.0.1:15090/stats/prometheus\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   42,
					},
					File:   "join_panic_test.flux",
					Source: "outData = \"\n#group,false,false,false,false,false,false,false,false\n#datatype,string,long,double,double,double,string,string,string\n#default,_result,,,,,,,\n\n,result,table,_value_errors,_value_total,availability,env,response_code_errors,response_code_total\n,,0,2,2,0,prod01-us-west-2,400,400\n,,0,2,16,87.5,prod01-us-west-2,400,429\n,,0,16,2,-700,prod01-us-west-2,429,400\n,,0,16,16,0,prod01-us-west-2,429,429\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "join_panic_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   42,
						},
						File:   "join_panic_test.flux",
						Source: "\"\n#group,false,false,false,false,false,false,false,false\n#datatype,string,long,double,double,double,string,string,string\n#default,_result,,,,,,,\n\n,result,table,_value_errors,_value_total,availability,env,response_code_errors,response_code_total\n,,0,2,2,0,prod01-us-west-2,400,400\n,,0,2,16,87.5,prod01-us-west-2,400,429\n,,0,16,2,-700,prod01-us-west-2,429,400\n,,0,16,16,0,prod01-us-west-2,429,429\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#group,false,false,false,false,false,false,false,false\n#datatype,string,long,double,double,double,string,string,string\n#default,_result,,,,,,,\n\n,result,table,_value_errors,_value_total,availability,env,response_code_errors,response_code_total\n,,0,2,2,0,prod01-us-west-2,400,400\n,,0,2,16,87.5,prod01-us-west-2,400,429\n,,0,16,2,-700,prod01-us-west-2,429,400\n,,0,16,16,0,prod01-us-west-2,429,429\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   60,
					},
					File:   "join_panic_test.flux",
					Source: "t_join_panic = (table=<-) => {\n    api_requests = table |> difference()\n    errors = api_requests\n        |> filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)\n    total = api_requests\n        //|> group(columns: [\"env\"])\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)\n\n    return join(tables: {errors: errors, total: total}, on: [\"env\"])\n        |> map(fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}))\n        |> sort(columns: [\"availability\"], desc: true)\n        |> group()\n}",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   43,
						},
						File:   "join_panic_test.flux",
						Source: "t_join_panic",
						Start: ast.Position{
							Column: 1,
							Line:   43,
						},
					},
				},
				Name: "t_join_panic",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   60,
						},
						File:   "join_panic_test.flux",
						Source: "(table=<-) => {\n    api_requests = table |> difference()\n    errors = api_requests\n        |> filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)\n    total = api_requests\n        //|> group(columns: [\"env\"])\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)\n\n    return join(tables: {errors: errors, total: total}, on: [\"env\"])\n        |> map(fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}))\n        |> sort(columns: [\"availability\"], desc: true)\n        |> group()\n}",
						Start: ast.Position{
							Column: 16,
							Line:   43,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   60,
							},
							File:   "join_panic_test.flux",
							Source: "{\n    api_requests = table |> difference()\n    errors = api_requests\n        |> filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)\n    total = api_requests\n        //|> group(columns: [\"env\"])\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)\n\n    return join(tables: {errors: errors, total: total}, on: [\"env\"])\n        |> map(fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}))\n        |> sort(columns: [\"availability\"], desc: true)\n        |> group()\n}",
							Start: ast.Position{
								Column: 30,
								Line:   43,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   44,
								},
								File:   "join_panic_test.flux",
								Source: "api_requests = table |> difference()",
								Start: ast.Position{
									Column: 5,
									Line:   44,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   44,
									},
									File:   "join_panic_test.flux",
									Source: "api_requests",
									Start: ast.Position{
										Column: 5,
										Line:   44,
									},
								},
							},
							Name: "api_requests",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   44,
										},
										File:   "join_panic_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 20,
											Line:   44,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   44,
									},
									File:   "join_panic_test.flux",
									Source: "table |> difference()",
									Start: ast.Position{
										Column: 20,
										Line:   44,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: nil,
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   44,
										},
										File:   "join_panic_test.flux",
										Source: "difference()",
										Start: ast.Position{
											Column: 29,
											Line:   44,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 39,
												Line:   44,
											},
											File:   "join_panic_test.flux",
											Source: "difference",
											Start: ast.Position{
												Column: 29,
												Line:   44,
											},
										},
									},
									Name: "difference",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 43,
									Line:   49,
								},
								File:   "join_panic_test.flux",
								Source: "errors = api_requests\n        |> filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)",
								Start: ast.Position{
									Column: 5,
									Line:   45,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   45,
									},
									File:   "join_panic_test.flux",
									Source: "errors",
									Start: ast.Position{
										Column: 5,
										Line:   45,
									},
								},
							},
							Name: "errors",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   45,
													},
													File:   "join_panic_test.flux",
													Source: "api_requests",
													Start: ast.Position{
														Column: 14,
														Line:   45,
													},
												},
											},
											Name: "api_requests",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 195,
													Line:   46,
												},
												File:   "join_panic_test.flux",
												Source: "api_requests\n        |> filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 194,
															Line:   46,
														},
														File:   "join_panic_test.flux",
														Source: "fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\"",
														Start: ast.Position{
															Column: 19,
															Line:   46,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 194,
																Line:   46,
															},
															File:   "join_panic_test.flux",
															Source: "fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\"",
															Start: ast.Position{
																Column: 19,
																Line:   46,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 21,
																	Line:   46,
																},
																File:   "join_panic_test.flux",
																Source: "fn",
																Start: ast.Position{
																	Column: 19,
																	Line:   46,
																},
															},
														},
														Name: "fn",
													},
													Separator: nil,
													Value: &ast.FunctionExpression{
														Arrow: nil,
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 194,
																	Line:   46,
																},
																File:   "join_panic_test.flux",
																Source: "(r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\"",
																Start: ast.Position{
																	Column: 23,
																	Line:   46,
																},
															},
														},
														Body: &ast.LogicalExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 194,
																		Line:   46,
																	},
																	File:   "join_panic_test.flux",
																	Source: "r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\"",
																	Start: ast.Position{
																		Column: 30,
																		Line:   46,
																	},
																},
															},
															Left: &ast.LogicalExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 166,
																			Line:   46,
																		},
																		File:   "join_panic_test.flux",
																		Source: "r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\"",
																		Start: ast.Position{
																			Column: 30,
																			Line:   46,
																		},
																	},
																},
																Left: &ast.LogicalExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 138,
																				Line:   46,
																			},
																			File:   "join_panic_test.flux",
																			Source: "r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\"",
																			Start: ast.Position{
																				Column: 30,
																				Line:   46,
																			},
																		},
																	},
																	Left: &ast.LogicalExpression{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 110,
																					Line:   46,
																				},
																				File:   "join_panic_test.flux",
																				Source: "r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\"",
																				Start: ast.Position{
																					Column: 30,
																					Line:   46,
																				},
																			},
																		},
																		Left: &ast.LogicalExpression{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 82,
																						Line:   46,
																					},
																					File:   "join_panic_test.flux",
																					Source: "r.response_code == \"400\" or r.response_code == \"401\"",
																					Start: ast.Position{
																						Column: 30,
																						Line:   46,
																					},
																				},
																			},
																			Left: &ast.BinaryExpression{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 54,
																							Line:   46,
																						},
																						File:   "join_panic_test.flux",
																						Source: "r.response_code == \"400\"",
																						Start: ast.Position{
																							Column: 30,
																							Line:   46,
																						},
																					},
																				},
																				Left: &ast.MemberExpression{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 45,
																								Line:   46,
																							},
																							File:   "join_panic_test.flux",
																							Source: "r.response_code",
																							Start: ast.Position{
																								Column: 30,
																								Line:   46,
																							},
																						},
																					},
																					Lbrack: nil,
																					Object: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 31,
																									Line:   46,
																								},
																								File:   "join_panic_test.flux",
																								Source: "r",
																								Start: ast.Position{
																									Column: 30,
																									Line:   46,
																								},
																							},
																						},
																						Name: "r",
																					},
																					Property: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 45,
																									Line:   46,
																								},
																								File:   "join_panic_test.flux",
																								Source: "response_code",
																								Start: ast.Position{
																									Column: 32,
																									Line:   46,
																								},
																							},
																						},
																						Name: "response_code",
																					},
																					Rbrack: nil,
																				},
																				Operator: 17,
																				Right: &ast.StringLiteral{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 54,
																								Line:   46,
																							},
																							File:   "join_panic_test.flux",
																							Source: "\"400\"",
																							Start: ast.Position{
																								Column: 49,
																								Line:   46,
																							},
																						},
																					},
																					Value: "400",
																				},
																			},
																			Operator: 2,
																			Right: &ast.BinaryExpression{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 82,
																							Line:   46,
																						},
																						File:   "join_panic_test.flux",
																						Source: "r.response_code == \"401\"",
																						Start: ast.Position{
																							Column: 58,
																							Line:   46,
																						},
																					},
																				},
																				Left: &ast.MemberExpression{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 73,
																								Line:   46,
																							},
																							File:   "join_panic_test.flux",
																							Source: "r.response_code",
																							Start: ast.Position{
																								Column: 58,
																								Line:   46,
																							},
																						},
																					},
																					Lbrack: nil,
																					Object: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 59,
																									Line:   46,
																								},
																								File:   "join_panic_test.flux",
																								Source: "r",
																								Start: ast.Position{
																									Column: 58,
																									Line:   46,
																								},
																							},
																						},
																						Name: "r",
																					},
																					Property: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 73,
																									Line:   46,
																								},
																								File:   "join_panic_test.flux",
																								Source: "response_code",
																								Start: ast.Position{
																									Column: 60,
																									Line:   46,
																								},
																							},
																						},
																						Name: "response_code",
																					},
																					Rbrack: nil,
																				},
																				Operator: 17,
																				Right: &ast.StringLiteral{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 82,
																								Line:   46,
																							},
																							File:   "join_panic_test.flux",
																							Source: "\"401\"",
																							Start: ast.Position{
																								Column: 77,
																								Line:   46,
																							},
																						},
																					},
																					Value: "401",
																				},
																			},
																		},
																		Operator: 2,
																		Right: &ast.BinaryExpression{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 110,
																						Line:   46,
																					},
																					File:   "join_panic_test.flux",
																					Source: "r.response_code == \"404\"",
																					Start: ast.Position{
																						Column: 86,
																						Line:   46,
																					},
																				},
																			},
																			Left: &ast.MemberExpression{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 101,
																							Line:   46,
																						},
																						File:   "join_panic_test.flux",
																						Source: "r.response_code",
																						Start: ast.Position{
																							Column: 86,
																							Line:   46,
																						},
																					},
																				},
																				Lbrack: nil,
																				Object: &ast.Identifier{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 87,
																								Line:   46,
																							},
																							File:   "join_panic_test.flux",
																							Source: "r",
																							Start: ast.Position{
																								Column: 86,
																								Line:   46,
																							},
																						},
																					},
																					Name: "r",
																				},
																				Property: &ast.Identifier{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 101,
																								Line:   46,
																							},
																							File:   "join_panic_test.flux",
																							Source: "response_code",
																							Start: ast.Position{
																								Column: 88,
																								Line:   46,
																							},
																						},
																					},
																					Name: "response_code",
																				},
																				Rbrack: nil,
																			},
																			Operator: 17,
																			Right: &ast.StringLiteral{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 110,
																							Line:   46,
																						},
																						File:   "join_panic_test.flux",
																						Source: "\"404\"",
																						Start: ast.Position{
																							Column: 105,
																							Line:   46,
																						},
																					},
																				},
																				Value: "404",
																			},
																		},
																	},
																	Operator: 2,
																	Right: &ast.BinaryExpression{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 138,
																					Line:   46,
																				},
																				File:   "join_panic_test.flux",
																				Source: "r.response_code == \"429\"",
																				Start: ast.Position{
																					Column: 114,
																					Line:   46,
																				},
																			},
																		},
																		Left: &ast.MemberExpression{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 129,
																						Line:   46,
																					},
																					File:   "join_panic_test.flux",
																					Source: "r.response_code",
																					Start: ast.Position{
																						Column: 114,
																						Line:   46,
																					},
																				},
																			},
																			Lbrack: nil,
																			Object: &ast.Identifier{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 115,
																							Line:   46,
																						},
																						File:   "join_panic_test.flux",
																						Source: "r",
																						Start: ast.Position{
																							Column: 114,
																							Line:   46,
																						},
																					},
																				},
																				Name: "r",
																			},
																			Property: &ast.Identifier{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 129,
																							Line:   46,
																						},
																						File:   "join_panic_test.flux",
																						Source: "response_code",
																						Start: ast.Position{
																							Column: 116,
																							Line:   46,
																						},
																					},
																				},
																				Name: "response_code",
																			},
																			Rbrack: nil,
																		},
																		Operator: 17,
																		Right: &ast.StringLiteral{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 138,
																						Line:   46,
																					},
																					File:   "join_panic_test.flux",
																					Source: "\"429\"",
																					Start: ast.Position{
																						Column: 133,
																						Line:   46,
																					},
																				},
																			},
																			Value: "429",
																		},
																	},
																},
																Operator: 2,
																Right: &ast.BinaryExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 166,
																				Line:   46,
																			},
																			File:   "join_panic_test.flux",
																			Source: "r.response_code == \"500\"",
																			Start: ast.Position{
																				Column: 142,
																				Line:   46,
																			},
																		},
																	},
																	Left: &ast.MemberExpression{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 157,
																					Line:   46,
																				},
																				File:   "join_panic_test.flux",
																				Source: "r.response_code",
																				Start: ast.Position{
																					Column: 142,
																					Line:   46,
																				},
																			},
																		},
																		Lbrack: nil,
																		Object: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 143,
																						Line:   46,
																					},
																					File:   "join_panic_test.flux",
																					Source: "r",
																					Start: ast.Position{
																						Column: 142,
																						Line:   46,
																					},
																				},
																			},
																			Name: "r",
																		},
																		Property: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 157,
																						Line:   46,
																					},
																					File:   "join_panic_test.flux",
																					Source: "response_code",
																					Start: ast.Position{
																						Column: 144,
																						Line:   46,
																					},
																				},
																			},
																			Name: "response_code",
																		},
																		Rbrack: nil,
																	},
																	Operator: 17,
																	Right: &ast.StringLiteral{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 166,
																					Line:   46,
																				},
																				File:   "join_panic_test.flux",
																				Source: "\"500\"",
																				Start: ast.Position{
																					Column: 161,
																					Line:   46,
																				},
																			},
																		},
																		Value: "500",
																	},
																},
															},
															Operator: 2,
															Right: &ast.BinaryExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 194,
																			Line:   46,
																		},
																		File:   "join_panic_test.flux",
																		Source: "r.response_code == \"503\"",
																		Start: ast.Position{
																			Column: 170,
																			Line:   46,
																		},
																	},
																},
																Left: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 185,
																				Line:   46,
																			},
																			File:   "join_panic_test.flux",
																			Source: "r.response_code",
																			Start: ast.Position{
																				Column: 170,
																				Line:   46,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 171,
																					Line:   46,
																				},
																				File:   "join_panic_test.flux",
																				Source: "r",
																				Start: ast.Position{
																					Column: 170,
																					Line:   46,
																				},
																			},
																		},
																		Name: "r",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 185,
																					Line:   46,
																				},
																				File:   "join_panic_test.flux",
																				Source: "response_code",
																				Start: ast.Position{
																					Column: 172,
																					Line:   46,
																				},
																			},
																		},
																		Name: "response_code",
																	},
																	Rbrack: nil,
																},
																Operator: 17,
																Right: &ast.StringLiteral{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 194,
																				Line:   46,
																			},
																			File:   "join_panic_test.flux",
																			Source: "\"503\"",
																			Start: ast.Position{
																				Column: 189,
																				Line:   46,
																			},
																		},
																	},
																	Value: "503",
																},
															},
														},
														Lparen: nil,
														Params: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   46,
																	},
																	File:   "join_panic_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 24,
																		Line:   46,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 25,
																			Line:   46,
																		},
																		File:   "join_panic_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 24,
																			Line:   46,
																		},
																	},
																},
																Name: "r",
															},
															Separator: nil,
															Value:     nil,
														}},
														Rparan: nil,
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 195,
														Line:   46,
													},
													File:   "join_panic_test.flux",
													Source: "filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")",
													Start: ast.Position{
														Column: 12,
														Line:   46,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   46,
														},
														File:   "join_panic_test.flux",
														Source: "filter",
														Start: ast.Position{
															Column: 12,
															Line:   46,
														},
													},
												},
												Name: "filter",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   47,
											},
											File:   "join_panic_test.flux",
											Source: "api_requests\n        |> filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")\n        |> group(columns: [\"env\", \"response_code\"])",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   47,
													},
													File:   "join_panic_test.flux",
													Source: "columns: [\"env\", \"response_code\"]",
													Start: ast.Position{
														Column: 18,
														Line:   47,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   47,
														},
														File:   "join_panic_test.flux",
														Source: "columns: [\"env\", \"response_code\"]",
														Start: ast.Position{
															Column: 18,
															Line:   47,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   47,
															},
															File:   "join_panic_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 18,
																Line:   47,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 51,
																Line:   47,
															},
															File:   "join_panic_test.flux",
															Source: "[\"env\", \"response_code\"]",
															Start: ast.Position{
																Column: 27,
																Line:   47,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   47,
																},
																File:   "join_panic_test.flux",
																Source: "\"env\"",
																Start: ast.Position{
																	Column: 28,
																	Line:   47,
																},
															},
														},
														Value: "env",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 50,
																	Line:   47,
																},
																File:   "join_panic_test.flux",
																Source: "\"response_code\"",
																Start: ast.Position{
																	Column: 35,
																	Line:   47,
																},
															},
														},
														Value: "response_code",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   47,
												},
												File:   "join_panic_test.flux",
												Source: "group(columns: [\"env\", \"response_code\"])",
												Start: ast.Position{
													Column: 12,
													Line:   47,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   47,
													},
													File:   "join_panic_test.flux",
													Source: "group",
													Start: ast.Position{
														Column: 12,
														Line:   47,
													},
												},
											},
											Name: "group",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   48,
										},
										File:   "join_panic_test.flux",
										Source: "api_requests\n        |> filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   48,
											},
											File:   "join_panic_test.flux",
											Source: "sum()",
											Start: ast.Position{
												Column: 12,
												Line:   48,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   48,
												},
												File:   "join_panic_test.flux",
												Source: "sum",
												Start: ast.Position{
													Column: 12,
													Line:   48,
												},
											},
										},
										Name: "sum",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   49,
									},
									File:   "join_panic_test.flux",
									Source: "api_requests\n        |> filter(fn: (r) => r.response_code == \"400\" or r.response_code == \"401\" or r.response_code == \"404\" or r.response_code == \"429\" or r.response_code == \"500\" or r.response_code == \"503\")\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)",
									Start: ast.Position{
										Column: 14,
										Line:   45,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   49,
											},
											File:   "join_panic_test.flux",
											Source: "fn: (r) => r._value > 0",
											Start: ast.Position{
												Column: 19,
												Line:   49,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   49,
												},
												File:   "join_panic_test.flux",
												Source: "fn: (r) => r._value > 0",
												Start: ast.Position{
													Column: 19,
													Line:   49,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   49,
													},
													File:   "join_panic_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 19,
														Line:   49,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   49,
													},
													File:   "join_panic_test.flux",
													Source: "(r) => r._value > 0",
													Start: ast.Position{
														Column: 23,
														Line:   49,
													},
												},
											},
											Body: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 42,
															Line:   49,
														},
														File:   "join_panic_test.flux",
														Source: "r._value > 0",
														Start: ast.Position{
															Column: 30,
															Line:   49,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   49,
															},
															File:   "join_panic_test.flux",
															Source: "r._value",
															Start: ast.Position{
																Column: 30,
																Line:   49,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 31,
																	Line:   49,
																},
																File:   "join_panic_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 30,
																	Line:   49,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   49,
																},
																File:   "join_panic_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 32,
																	Line:   49,
																},
															},
														},
														Name: "_value",
													},
													Rbrack: nil,
												},
												Operator: 10,
												Right: &ast.IntegerLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 42,
																Line:   49,
															},
															File:   "join_panic_test.flux",
															Source: "0",
															Start: ast.Position{
																Column: 41,
																Line:   49,
															},
														},
													},
													Value: int64(0),
												},
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 25,
															Line:   49,
														},
														File:   "join_panic_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 24,
															Line:   49,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   49,
															},
															File:   "join_panic_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   49,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 43,
											Line:   49,
										},
										File:   "join_panic_test.flux",
										Source: "filter(fn: (r) => r._value > 0)",
										Start: ast.Position{
											Column: 12,
											Line:   49,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   49,
											},
											File:   "join_panic_test.flux",
											Source: "filter",
											Start: ast.Position{
												Column: 12,
												Line:   49,
											},
										},
									},
									Name: "filter",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 43,
									Line:   54,
								},
								File:   "join_panic_test.flux",
								Source: "total = api_requests\n        //|> group(columns: [\"env\"])\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)",
								Start: ast.Position{
									Column: 5,
									Line:   50,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   50,
									},
									File:   "join_panic_test.flux",
									Source: "total",
									Start: ast.Position{
										Column: 5,
										Line:   50,
									},
								},
							},
							Name: "total",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 25,
													Line:   50,
												},
												File:   "join_panic_test.flux",
												Source: "api_requests",
												Start: ast.Position{
													Column: 13,
													Line:   50,
												},
											},
										},
										Name: "api_requests",
									},
									BaseNode: ast.BaseNode{
										Comments: []ast.Comment{ast.Comment{Text: "//|> group(columns: [\"env\"])\n"}},
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   52,
											},
											File:   "join_panic_test.flux",
											Source: "api_requests\n        //|> group(columns: [\"env\"])\n        |> group(columns: [\"env\", \"response_code\"])",
											Start: ast.Position{
												Column: 13,
												Line:   50,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   52,
													},
													File:   "join_panic_test.flux",
													Source: "columns: [\"env\", \"response_code\"]",
													Start: ast.Position{
														Column: 18,
														Line:   52,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   52,
														},
														File:   "join_panic_test.flux",
														Source: "columns: [\"env\", \"response_code\"]",
														Start: ast.Position{
															Column: 18,
															Line:   52,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   52,
															},
															File:   "join_panic_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 18,
																Line:   52,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 51,
																Line:   52,
															},
															File:   "join_panic_test.flux",
															Source: "[\"env\", \"response_code\"]",
															Start: ast.Position{
																Column: 27,
																Line:   52,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   52,
																},
																File:   "join_panic_test.flux",
																Source: "\"env\"",
																Start: ast.Position{
																	Column: 28,
																	Line:   52,
																},
															},
														},
														Value: "env",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 50,
																	Line:   52,
																},
																File:   "join_panic_test.flux",
																Source: "\"response_code\"",
																Start: ast.Position{
																	Column: 35,
																	Line:   52,
																},
															},
														},
														Value: "response_code",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   52,
												},
												File:   "join_panic_test.flux",
												Source: "group(columns: [\"env\", \"response_code\"])",
												Start: ast.Position{
													Column: 12,
													Line:   52,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   52,
													},
													File:   "join_panic_test.flux",
													Source: "group",
													Start: ast.Position{
														Column: 12,
														Line:   52,
													},
												},
											},
											Name: "group",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   53,
										},
										File:   "join_panic_test.flux",
										Source: "api_requests\n        //|> group(columns: [\"env\"])\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()",
										Start: ast.Position{
											Column: 13,
											Line:   50,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   53,
											},
											File:   "join_panic_test.flux",
											Source: "sum()",
											Start: ast.Position{
												Column: 12,
												Line:   53,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   53,
												},
												File:   "join_panic_test.flux",
												Source: "sum",
												Start: ast.Position{
													Column: 12,
													Line:   53,
												},
											},
										},
										Name: "sum",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   54,
									},
									File:   "join_panic_test.flux",
									Source: "api_requests\n        //|> group(columns: [\"env\"])\n        |> group(columns: [\"env\", \"response_code\"])\n        |> sum()\n        |> filter(fn: (r) => r._value > 0)",
									Start: ast.Position{
										Column: 13,
										Line:   50,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   54,
											},
											File:   "join_panic_test.flux",
											Source: "fn: (r) => r._value > 0",
											Start: ast.Position{
												Column: 19,
												Line:   54,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   54,
												},
												File:   "join_panic_test.flux",
												Source: "fn: (r) => r._value > 0",
												Start: ast.Position{
													Column: 19,
													Line:   54,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   54,
													},
													File:   "join_panic_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 19,
														Line:   54,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   54,
													},
													File:   "join_panic_test.flux",
													Source: "(r) => r._value > 0",
													Start: ast.Position{
														Column: 23,
														Line:   54,
													},
												},
											},
											Body: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 42,
															Line:   54,
														},
														File:   "join_panic_test.flux",
														Source: "r._value > 0",
														Start: ast.Position{
															Column: 30,
															Line:   54,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   54,
															},
															File:   "join_panic_test.flux",
															Source: "r._value",
															Start: ast.Position{
																Column: 30,
																Line:   54,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 31,
																	Line:   54,
																},
																File:   "join_panic_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 30,
																	Line:   54,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   54,
																},
																File:   "join_panic_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 32,
																	Line:   54,
																},
															},
														},
														Name: "_value",
													},
													Rbrack: nil,
												},
												Operator: 10,
												Right: &ast.IntegerLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 42,
																Line:   54,
															},
															File:   "join_panic_test.flux",
															Source: "0",
															Start: ast.Position{
																Column: 41,
																Line:   54,
															},
														},
													},
													Value: int64(0),
												},
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 25,
															Line:   54,
														},
														File:   "join_panic_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 24,
															Line:   54,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   54,
															},
															File:   "join_panic_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   54,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 43,
											Line:   54,
										},
										File:   "join_panic_test.flux",
										Source: "filter(fn: (r) => r._value > 0)",
										Start: ast.Position{
											Column: 12,
											Line:   54,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   54,
											},
											File:   "join_panic_test.flux",
											Source: "filter",
											Start: ast.Position{
												Column: 12,
												Line:   54,
											},
										},
									},
									Name: "filter",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   56,
													},
													File:   "join_panic_test.flux",
													Source: "tables: {errors: errors, total: total}, on: [\"env\"]",
													Start: ast.Position{
														Column: 17,
														Line:   56,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 55,
															Line:   56,
														},
														File:   "join_panic_test.flux",
														Source: "tables: {errors: errors, total: total}",
														Start: ast.Position{
															Column: 17,
															Line:   56,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 23,
																Line:   56,
															},
															File:   "join_panic_test.flux",
															Source: "tables",
															Start: ast.Position{
																Column: 17,
																Line:   56,
															},
														},
													},
													Name: "tables",
												},
												Separator: nil,
												Value: &ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 55,
																Line:   56,
															},
															File:   "join_panic_test.flux",
															Source: "{errors: errors, total: total}",
															Start: ast.Position{
																Column: 25,
																Line:   56,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   56,
																},
																File:   "join_panic_test.flux",
																Source: "errors: errors",
																Start: ast.Position{
																	Column: 26,
																	Line:   56,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 32,
																		Line:   56,
																	},
																	File:   "join_panic_test.flux",
																	Source: "errors",
																	Start: ast.Position{
																		Column: 26,
																		Line:   56,
																	},
																},
															},
															Name: "errors",
														},
														Separator: nil,
														Value: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 40,
																		Line:   56,
																	},
																	File:   "join_panic_test.flux",
																	Source: "errors",
																	Start: ast.Position{
																		Column: 34,
																		Line:   56,
																	},
																},
															},
															Name: "errors",
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 54,
																	Line:   56,
																},
																File:   "join_panic_test.flux",
																Source: "total: total",
																Start: ast.Position{
																	Column: 42,
																	Line:   56,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 47,
																		Line:   56,
																	},
																	File:   "join_panic_test.flux",
																	Source: "total",
																	Start: ast.Position{
																		Column: 42,
																		Line:   56,
																	},
																},
															},
															Name: "total",
														},
														Separator: nil,
														Value: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 54,
																		Line:   56,
																	},
																	File:   "join_panic_test.flux",
																	Source: "total",
																	Start: ast.Position{
																		Column: 49,
																		Line:   56,
																	},
																},
															},
															Name: "total",
														},
													}},
													Rbrace: nil,
													With:   nil,
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   56,
														},
														File:   "join_panic_test.flux",
														Source: "on: [\"env\"]",
														Start: ast.Position{
															Column: 57,
															Line:   56,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 59,
																Line:   56,
															},
															File:   "join_panic_test.flux",
															Source: "on",
															Start: ast.Position{
																Column: 57,
																Line:   56,
															},
														},
													},
													Name: "on",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 68,
																Line:   56,
															},
															File:   "join_panic_test.flux",
															Source: "[\"env\"]",
															Start: ast.Position{
																Column: 61,
																Line:   56,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 67,
																	Line:   56,
																},
																File:   "join_panic_test.flux",
																Source: "\"env\"",
																Start: ast.Position{
																	Column: 62,
																	Line:   56,
																},
															},
														},
														Value: "env",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   56,
												},
												File:   "join_panic_test.flux",
												Source: "join(tables: {errors: errors, total: total}, on: [\"env\"])",
												Start: ast.Position{
													Column: 12,
													Line:   56,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   56,
													},
													File:   "join_panic_test.flux",
													Source: "join",
													Start: ast.Position{
														Column: 12,
														Line:   56,
													},
												},
											},
											Name: "join",
										},
										Lparen: nil,
										Rparen: nil,
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 121,
												Line:   57,
											},
											File:   "join_panic_test.flux",
											Source: "join(tables: {errors: errors, total: total}, on: [\"env\"])\n        |> map(fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}))",
											Start: ast.Position{
												Column: 12,
												Line:   56,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 120,
														Line:   57,
													},
													File:   "join_panic_test.flux",
													Source: "fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0})",
													Start: ast.Position{
														Column: 16,
														Line:   57,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 120,
															Line:   57,
														},
														File:   "join_panic_test.flux",
														Source: "fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0})",
														Start: ast.Position{
															Column: 16,
															Line:   57,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 18,
																Line:   57,
															},
															File:   "join_panic_test.flux",
															Source: "fn",
															Start: ast.Position{
																Column: 16,
																Line:   57,
															},
														},
													},
													Name: "fn",
												},
												Separator: nil,
												Value: &ast.FunctionExpression{
													Arrow: nil,
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 120,
																Line:   57,
															},
															File:   "join_panic_test.flux",
															Source: "(r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0})",
															Start: ast.Position{
																Column: 20,
																Line:   57,
															},
														},
													},
													Body: &ast.ParenExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 120,
																	Line:   57,
																},
																File:   "join_panic_test.flux",
																Source: "({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0})",
																Start: ast.Position{
																	Column: 27,
																	Line:   57,
																},
															},
														},
														Expression: &ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 119,
																		Line:   57,
																	},
																	File:   "join_panic_test.flux",
																	Source: "{r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}",
																	Start: ast.Position{
																		Column: 28,
																		Line:   57,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 118,
																			Line:   57,
																		},
																		File:   "join_panic_test.flux",
																		Source: "availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0",
																		Start: ast.Position{
																			Column: 36,
																			Line:   57,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 48,
																				Line:   57,
																			},
																			File:   "join_panic_test.flux",
																			Source: "availability",
																			Start: ast.Position{
																				Column: 36,
																				Line:   57,
																			},
																		},
																	},
																	Name: "availability",
																},
																Separator: nil,
																Value: &ast.BinaryExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 118,
																				Line:   57,
																			},
																			File:   "join_panic_test.flux",
																			Source: "(1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0",
																			Start: ast.Position{
																				Column: 50,
																				Line:   57,
																			},
																		},
																	},
																	Left: &ast.ParenExpression{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 110,
																					Line:   57,
																				},
																				File:   "join_panic_test.flux",
																				Source: "(1.0 - float(v: r._value_errors) / float(v: r._value_total))",
																				Start: ast.Position{
																					Column: 50,
																					Line:   57,
																				},
																			},
																		},
																		Expression: &ast.BinaryExpression{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 109,
																						Line:   57,
																					},
																					File:   "join_panic_test.flux",
																					Source: "1.0 - float(v: r._value_errors) / float(v: r._value_total)",
																					Start: ast.Position{
																						Column: 51,
																						Line:   57,
																					},
																				},
																			},
																			Left: &ast.FloatLiteral{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 54,
																							Line:   57,
																						},
																						File:   "join_panic_test.flux",
																						Source: "1.0",
																						Start: ast.Position{
																							Column: 51,
																							Line:   57,
																						},
																					},
																				},
																				Value: 1.0,
																			},
																			Operator: 6,
																			Right: &ast.BinaryExpression{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 109,
																							Line:   57,
																						},
																						File:   "join_panic_test.flux",
																						Source: "float(v: r._value_errors) / float(v: r._value_total)",
																						Start: ast.Position{
																							Column: 57,
																							Line:   57,
																						},
																					},
																				},
																				Left: &ast.CallExpression{
																					Arguments: []ast.Expression{&ast.ObjectExpression{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 81,
																									Line:   57,
																								},
																								File:   "join_panic_test.flux",
																								Source: "v: r._value_errors",
																								Start: ast.Position{
																									Column: 63,
																									Line:   57,
																								},
																							},
																						},
																						Lbrace: nil,
																						Properties: []*ast.Property{&ast.Property{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 81,
																										Line:   57,
																									},
																									File:   "join_panic_test.flux",
																									Source: "v: r._value_errors",
																									Start: ast.Position{
																										Column: 63,
																										Line:   57,
																									},
																								},
																							},
																							Comma: nil,
																							Key: &ast.Identifier{
																								BaseNode: ast.BaseNode{
																									Comments: nil,
																									Errors:   nil,
																									Loc: &ast.SourceLocation{
																										End: ast.Position{
																											Column: 64,
																											Line:   57,
																										},
																										File:   "join_panic_test.flux",
																										Source: "v",
																										Start: ast.Position{
																											Column: 63,
																											Line:   57,
																										},
																									},
																								},
																								Name: "v",
																							},
																							Separator: nil,
																							Value: &ast.MemberExpression{
																								BaseNode: ast.BaseNode{
																									Comments: nil,
																									Errors:   nil,
																									Loc: &ast.SourceLocation{
																										End: ast.Position{
																											Column: 81,
																											Line:   57,
																										},
																										File:   "join_panic_test.flux",
																										Source: "r._value_errors",
																										Start: ast.Position{
																											Column: 66,
																											Line:   57,
																										},
																									},
																								},
																								Lbrack: nil,
																								Object: &ast.Identifier{
																									BaseNode: ast.BaseNode{
																										Comments: nil,
																										Errors:   nil,
																										Loc: &ast.SourceLocation{
																											End: ast.Position{
																												Column: 67,
																												Line:   57,
																											},
																											File:   "join_panic_test.flux",
																											Source: "r",
																											Start: ast.Position{
																												Column: 66,
																												Line:   57,
																											},
																										},
																									},
																									Name: "r",
																								},
																								Property: &ast.Identifier{
																									BaseNode: ast.BaseNode{
																										Comments: nil,
																										Errors:   nil,
																										Loc: &ast.SourceLocation{
																											End: ast.Position{
																												Column: 81,
																												Line:   57,
																											},
																											File:   "join_panic_test.flux",
																											Source: "_value_errors",
																											Start: ast.Position{
																												Column: 68,
																												Line:   57,
																											},
																										},
																									},
																									Name: "_value_errors",
																								},
																								Rbrack: nil,
																							},
																						}},
																						Rbrace: nil,
																						With:   nil,
																					}},
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 82,
																								Line:   57,
																							},
																							File:   "join_panic_test.flux",
																							Source: "float(v: r._value_errors)",
																							Start: ast.Position{
																								Column: 57,
																								Line:   57,
																							},
																						},
																					},
																					Callee: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 62,
																									Line:   57,
																								},
																								File:   "join_panic_test.flux",
																								Source: "float",
																								Start: ast.Position{
																									Column: 57,
																									Line:   57,
																								},
																							},
																						},
																						Name: "float",
																					},
																					Lparen: nil,
																					Rparen: nil,
																				},
																				Operator: 2,
																				Right: &ast.CallExpression{
																					Arguments: []ast.Expression{&ast.ObjectExpression{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 108,
																									Line:   57,
																								},
																								File:   "join_panic_test.flux",
																								Source: "v: r._value_total",
																								Start: ast.Position{
																									Column: 91,
																									Line:   57,
																								},
																							},
																						},
																						Lbrace: nil,
																						Properties: []*ast.Property{&ast.Property{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 108,
																										Line:   57,
																									},
																									File:   "join_panic_test.flux",
																									Source: "v: r._value_total",
																									Start: ast.Position{
																										Column: 91,
																										Line:   57,
																									},
																								},
																							},
																							Comma: nil,
																							Key: &ast.Identifier{
																								BaseNode: ast.BaseNode{
																									Comments: nil,
																									Errors:   nil,
																									Loc: &ast.SourceLocation{
																										End: ast.Position{
																											Column: 92,
																											Line:   57,
																										},
																										File:   "join_panic_test.flux",
																										Source: "v",
																										Start: ast.Position{
																											Column: 91,
																											Line:   57,
																										},
																									},
																								},
																								Name: "v",
																							},
																							Separator: nil,
																							Value: &ast.MemberExpression{
																								BaseNode: ast.BaseNode{
																									Comments: nil,
																									Errors:   nil,
																									Loc: &ast.SourceLocation{
																										End: ast.Position{
																											Column: 108,
																											Line:   57,
																										},
																										File:   "join_panic_test.flux",
																										Source: "r._value_total",
																										Start: ast.Position{
																											Column: 94,
																											Line:   57,
																										},
																									},
																								},
																								Lbrack: nil,
																								Object: &ast.Identifier{
																									BaseNode: ast.BaseNode{
																										Comments: nil,
																										Errors:   nil,
																										Loc: &ast.SourceLocation{
																											End: ast.Position{
																												Column: 95,
																												Line:   57,
																											},
																											File:   "join_panic_test.flux",
																											Source: "r",
																											Start: ast.Position{
																												Column: 94,
																												Line:   57,
																											},
																										},
																									},
																									Name: "r",
																								},
																								Property: &ast.Identifier{
																									BaseNode: ast.BaseNode{
																										Comments: nil,
																										Errors:   nil,
																										Loc: &ast.SourceLocation{
																											End: ast.Position{
																												Column: 108,
																												Line:   57,
																											},
																											File:   "join_panic_test.flux",
																											Source: "_value_total",
																											Start: ast.Position{
																												Column: 96,
																												Line:   57,
																											},
																										},
																									},
																									Name: "_value_total",
																								},
																								Rbrack: nil,
																							},
																						}},
																						Rbrace: nil,
																						With:   nil,
																					}},
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 109,
																								Line:   57,
																							},
																							File:   "join_panic_test.flux",
																							Source: "float(v: r._value_total)",
																							Start: ast.Position{
																								Column: 85,
																								Line:   57,
																							},
																						},
																					},
																					Callee: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 90,
																									Line:   57,
																								},
																								File:   "join_panic_test.flux",
																								Source: "float",
																								Start: ast.Position{
																									Column: 85,
																									Line:   57,
																								},
																							},
																						},
																						Name: "float",
																					},
																					Lparen: nil,
																					Rparen: nil,
																				},
																			},
																		},
																		Lparen: nil,
																		Rparen: nil,
																	},
																	Operator: 1,
																	Right: &ast.FloatLiteral{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 118,
																					Line:   57,
																				},
																				File:   "join_panic_test.flux",
																				Source: "100.0",
																				Start: ast.Position{
																					Column: 113,
																					Line:   57,
																				},
																			},
																		},
																		Value: 100.0,
																	},
																},
															}},
															Rbrace: nil,
															With: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 30,
																			Line:   57,
																		},
																		File:   "join_panic_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 29,
																			Line:   57,
																		},
																	},
																},
																Name: "r",
															},
														},
														Lparen: nil,
														Rparen: nil,
													},
													Lparen: nil,
													Params: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 22,
																	Line:   57,
																},
																File:   "join_panic_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 21,
																	Line:   57,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 22,
																		Line:   57,
																	},
																	File:   "join_panic_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 21,
																		Line:   57,
																	},
																},
															},
															Name: "r",
														},
														Separator: nil,
														Value:     nil,
													}},
													Rparan: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 121,
													Line:   57,
												},
												File:   "join_panic_test.flux",
												Source: "map(fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}))",
												Start: ast.Position{
													Column: 12,
													Line:   57,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   57,
													},
													File:   "join_panic_test.flux",
													Source: "map",
													Start: ast.Position{
														Column: 12,
														Line:   57,
													},
												},
											},
											Name: "map",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 55,
											Line:   58,
										},
										File:   "join_panic_test.flux",
										Source: "join(tables: {errors: errors, total: total}, on: [\"env\"])\n        |> map(fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}))\n        |> sort(columns: [\"availability\"], desc: true)",
										Start: ast.Position{
											Column: 12,
											Line:   56,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   58,
												},
												File:   "join_panic_test.flux",
												Source: "columns: [\"availability\"], desc: true",
												Start: ast.Position{
													Column: 17,
													Line:   58,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   58,
													},
													File:   "join_panic_test.flux",
													Source: "columns: [\"availability\"]",
													Start: ast.Position{
														Column: 17,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   58,
														},
														File:   "join_panic_test.flux",
														Source: "columns",
														Start: ast.Position{
															Column: 17,
															Line:   58,
														},
													},
												},
												Name: "columns",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 42,
															Line:   58,
														},
														File:   "join_panic_test.flux",
														Source: "[\"availability\"]",
														Start: ast.Position{
															Column: 26,
															Line:   58,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   58,
															},
															File:   "join_panic_test.flux",
															Source: "\"availability\"",
															Start: ast.Position{
																Column: 27,
																Line:   58,
															},
														},
													},
													Value: "availability",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   58,
													},
													File:   "join_panic_test.flux",
													Source: "desc: true",
													Start: ast.Position{
														Column: 44,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   58,
														},
														File:   "join_panic_test.flux",
														Source: "desc",
														Start: ast.Position{
															Column: 44,
															Line:   58,
														},
													},
												},
												Name: "desc",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   58,
														},
														File:   "join_panic_test.flux",
														Source: "true",
														Start: ast.Position{
															Column: 50,
															Line:   58,
														},
													},
												},
												Name: "true",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 55,
												Line:   58,
											},
											File:   "join_panic_test.flux",
											Source: "sort(columns: [\"availability\"], desc: true)",
											Start: ast.Position{
												Column: 12,
												Line:   58,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 16,
													Line:   58,
												},
												File:   "join_panic_test.flux",
												Source: "sort",
												Start: ast.Position{
													Column: 12,
													Line:   58,
												},
											},
										},
										Name: "sort",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 19,
										Line:   59,
									},
									File:   "join_panic_test.flux",
									Source: "join(tables: {errors: errors, total: total}, on: [\"env\"])\n        |> map(fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}))\n        |> sort(columns: [\"availability\"], desc: true)\n        |> group()",
									Start: ast.Position{
										Column: 12,
										Line:   56,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: nil,
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 19,
											Line:   59,
										},
										File:   "join_panic_test.flux",
										Source: "group()",
										Start: ast.Position{
											Column: 12,
											Line:   59,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   59,
											},
											File:   "join_panic_test.flux",
											Source: "group",
											Start: ast.Position{
												Column: 12,
												Line:   59,
											},
										},
									},
									Name: "group",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   59,
								},
								File:   "join_panic_test.flux",
								Source: "return join(tables: {errors: errors, total: total}, on: [\"env\"])\n        |> map(fn: (r) => ({r with availability: (1.0 - float(v: r._value_errors) / float(v: r._value_total)) * 100.0}))\n        |> sort(columns: [\"availability\"], desc: true)\n        |> group()",
								Start: ast.Position{
									Column: 5,
									Line:   56,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   43,
							},
							File:   "join_panic_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   43,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   43,
								},
								File:   "join_panic_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   43,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   43,
							},
							File:   "join_panic_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   43,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 105,
							Line:   64,
						},
						File:   "join_panic_test.flux",
						Source: "_join_panic = () => \n    // to trigger the panic, switch the testing.loadStorage() csv from `passData` to `failData`\n    ({input: testing.loadStorage(csv: passData), want: testing.loadMem(csv: outData), fn: t_join_panic})",
						Start: ast.Position{
							Column: 6,
							Line:   62,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   62,
							},
							File:   "join_panic_test.flux",
							Source: "_join_panic",
							Start: ast.Position{
								Column: 6,
								Line:   62,
							},
						},
					},
					Name: "_join_panic",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 105,
								Line:   64,
							},
							File:   "join_panic_test.flux",
							Source: "() => \n    // to trigger the panic, switch the testing.loadStorage() csv from `passData` to `failData`\n    ({input: testing.loadStorage(csv: passData), want: testing.loadMem(csv: outData), fn: t_join_panic})",
							Start: ast.Position{
								Column: 20,
								Line:   62,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 105,
									Line:   64,
								},
								File:   "join_panic_test.flux",
								Source: "({input: testing.loadStorage(csv: passData), want: testing.loadMem(csv: outData), fn: t_join_panic})",
								Start: ast.Position{
									Column: 5,
									Line:   64,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 104,
										Line:   64,
									},
									File:   "join_panic_test.flux",
									Source: "{input: testing.loadStorage(csv: passData), want: testing.loadMem(csv: outData), fn: t_join_panic}",
									Start: ast.Position{
										Column: 6,
										Line:   64,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   64,
										},
										File:   "join_panic_test.flux",
										Source: "input: testing.loadStorage(csv: passData)",
										Start: ast.Position{
											Column: 7,
											Line:   64,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 12,
												Line:   64,
											},
											File:   "join_panic_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 7,
												Line:   64,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   64,
												},
												File:   "join_panic_test.flux",
												Source: "csv: passData",
												Start: ast.Position{
													Column: 34,
													Line:   64,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   64,
													},
													File:   "join_panic_test.flux",
													Source: "csv: passData",
													Start: ast.Position{
														Column: 34,
														Line:   64,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 37,
															Line:   64,
														},
														File:   "join_panic_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 34,
															Line:   64,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   64,
														},
														File:   "join_panic_test.flux",
														Source: "passData",
														Start: ast.Position{
															Column: 39,
															Line:   64,
														},
													},
												},
												Name: "passData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   64,
											},
											File:   "join_panic_test.flux",
											Source: "testing.loadStorage(csv: passData)",
											Start: ast.Position{
												Column: 14,
												Line:   64,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   64,
												},
												File:   "join_panic_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 14,
													Line:   64,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   64,
													},
													File:   "join_panic_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 14,
														Line:   64,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 33,
														Line:   64,
													},
													File:   "join_panic_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 22,
														Line:   64,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 85,
											Line:   64,
										},
										File:   "join_panic_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 50,
											Line:   64,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 54,
												Line:   64,
											},
											File:   "join_panic_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 50,
												Line:   64,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   64,
												},
												File:   "join_panic_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 72,
													Line:   64,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   64,
													},
													File:   "join_panic_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 72,
														Line:   64,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   64,
														},
														File:   "join_panic_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 72,
															Line:   64,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 84,
															Line:   64,
														},
														File:   "join_panic_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 77,
															Line:   64,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 85,
												Line:   64,
											},
											File:   "join_panic_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 56,
												Line:   64,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   64,
												},
												File:   "join_panic_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 56,
													Line:   64,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   64,
													},
													File:   "join_panic_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 56,
														Line:   64,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   64,
													},
													File:   "join_panic_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 64,
														Line:   64,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   64,
										},
										File:   "join_panic_test.flux",
										Source: "fn: t_join_panic",
										Start: ast.Position{
											Column: 87,
											Line:   64,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 89,
												Line:   64,
											},
											File:   "join_panic_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 87,
												Line:   64,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   64,
											},
											File:   "join_panic_test.flux",
											Source: "t_join_panic",
											Start: ast.Position{
												Column: 91,
												Line:   64,
											},
										},
									},
									Name: "t_join_panic",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: []ast.Comment{ast.Comment{Text: "// to trigger the panic, switch the testing.loadStorage() csv from `passData` to `failData`\n"}},
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 105,
						Line:   64,
					},
					File:   "join_panic_test.flux",
					Source: "test _join_panic = () => \n    // to trigger the panic, switch the testing.loadStorage() csv from `passData` to `failData`\n    ({input: testing.loadStorage(csv: passData), want: testing.loadMem(csv: outData), fn: t_join_panic})",
					Start: ast.Position{
						Column: 1,
						Line:   62,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "join_panic_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "join_panic_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "join_panic_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "join_panic_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "join_panic_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   57,
				},
				File:   "join_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,a\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,a\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,a\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,a\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,a\n,,1,2018-05-22T19:53:56Z,10,CPU,user2,a\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,b\n,,2,2018-05-22T19:53:36Z,2,RAM,user1,b\n,,2,2018-05-22T19:53:46Z,3,RAM,user1,b\n,,2,2018-05-22T19:53:56Z,5,RAM,user1,b\n,,3,2018-05-22T19:53:26Z,2,RAM,user2,b\n,,3,2018-05-22T19:53:36Z,4,RAM,user2,b\n,,3,2018-05-22T19:53:46Z,4,RAM,user2,b\n,,3,2018-05-22T19:53:56Z,0,RAM,user2,b\n,,3,2018-05-22T19:54:06Z,2,RAM,user2,b\n,,3,2018-05-22T19:54:16Z,10,RAM,user2,b\n\"\noutData = \"\n#datatype,string,long,string,dateTime:RFC3339,double,double,string,string,string\n#group,false,false,true,false,false,false,true,false,true\n#default,_result,,,,,,,,\n,result,table,_measurement,_time,_value_left,_value_right,user_left,user_right,_field\n,,0,CPU,2018-05-22T19:53:26Z,0,4,user1,user2,a\n,,0,CPU,2018-05-22T19:53:36Z,1,20,user1,user2,b\n,,1,RAM,2018-05-22T19:53:26Z,1,2,user1,user2,b\n,,1,RAM,2018-05-22T19:53:36Z,2,4,user1,user2,b\n,,1,RAM,2018-05-22T19:53:46Z,3,4,user1,user2,b\n,,1,RAM,2018-05-22T19:53:56Z,5,0,user1,user2,b\n\"\nt_join = (table=<-) => {\n    left = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"user\"])\n    right = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\", \"_field\"])\n\n    return join(tables: {left: left, right: right}, on: [\"_time\", \"_measurement\", \"_field\"])\n}\n\ntest _join = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "join_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "join_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "join_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "join_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "join_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "join_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,a\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,a\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,a\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,a\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,a\n,,1,2018-05-22T19:53:56Z,10,CPU,user2,a\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,b\n,,2,2018-05-22T19:53:36Z,2,RAM,user1,b\n,,2,2018-05-22T19:53:46Z,3,RAM,user1,b\n,,2,2018-05-22T19:53:56Z,5,RAM,user1,b\n,,3,2018-05-22T19:53:26Z,2,RAM,user2,b\n,,3,2018-05-22T19:53:36Z,4,RAM,user2,b\n,,3,2018-05-22T19:53:46Z,4,RAM,user2,b\n,,3,2018-05-22T19:53:56Z,0,RAM,user2,b\n,,3,2018-05-22T19:54:06Z,2,RAM,user2,b\n,,3,2018-05-22T19:54:16Z,10,RAM,user2,b\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "join_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "join_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,a\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,a\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,a\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,a\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,a\n,,1,2018-05-22T19:53:56Z,10,CPU,user2,a\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,b\n,,2,2018-05-22T19:53:36Z,2,RAM,user1,b\n,,2,2018-05-22T19:53:46Z,3,RAM,user1,b\n,,2,2018-05-22T19:53:56Z,5,RAM,user1,b\n,,3,2018-05-22T19:53:26Z,2,RAM,user2,b\n,,3,2018-05-22T19:53:36Z,4,RAM,user2,b\n,,3,2018-05-22T19:53:46Z,4,RAM,user2,b\n,,3,2018-05-22T19:53:56Z,0,RAM,user2,b\n,,3,2018-05-22T19:54:06Z,2,RAM,user2,b\n,,3,2018-05-22T19:54:16Z,10,RAM,user2,b\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_measurement,user,_field\n,,0,2018-05-22T19:53:26Z,0,CPU,user1,a\n,,0,2018-05-22T19:53:36Z,1,CPU,user1,a\n,,1,2018-05-22T19:53:26Z,4,CPU,user2,a\n,,1,2018-05-22T19:53:36Z,20,CPU,user2,a\n,,1,2018-05-22T19:53:46Z,7,CPU,user2,a\n,,1,2018-05-22T19:53:56Z,10,CPU,user2,a\n,,2,2018-05-22T19:53:26Z,1,RAM,user1,b\n,,2,2018-05-22T19:53:36Z,2,RAM,user1,b\n,,2,2018-05-22T19:53:46Z,3,RAM,user1,b\n,,2,2018-05-22T19:53:56Z,5,RAM,user1,b\n,,3,2018-05-22T19:53:26Z,2,RAM,user2,b\n,,3,2018-05-22T19:53:36Z,4,RAM,user2,b\n,,3,2018-05-22T19:53:46Z,4,RAM,user2,b\n,,3,2018-05-22T19:53:56Z,0,RAM,user2,b\n,,3,2018-05-22T19:54:06Z,2,RAM,user2,b\n,,3,2018-05-22T19:54:16Z,10,RAM,user2,b\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "join_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,dateTime:RFC3339,double,double,string,string,string\n#group,false,false,true,false,false,false,true,false,true\n#default,_result,,,,,,,,\n,result,table,_measurement,_time,_value_left,_value_right,user_left,user_right,_field\n,,0,CPU,2018-05-22T19:53:26Z,0,4,user1,user2,a\n,,0,CPU,2018-05-22T19:53:36Z,1,20,user1,user2,b\n,,1,RAM,2018-05-22T19:53:26Z,1,2,user1,user2,b\n,,1,RAM,2018-05-22T19:53:36Z,2,4,user1,user2,b\n,,1,RAM,2018-05-22T19:53:46Z,3,4,user1,user2,b\n,,1,RAM,2018-05-22T19:53:56Z,5,0,user1,user2,b\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   30,
						},
						File:   "join_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "join_test.flux",
						Source: "\"\n#datatype,string,long,string,dateTime:RFC3339,double,double,string,string,string\n#group,false,false,true,false,false,false,true,false,true\n#default,_result,,,,,,,,\n,result,table,_measurement,_time,_value_left,_value_right,user_left,user_right,_field\n,,0,CPU,2018-05-22T19:53:26Z,0,4,user1,user2,a\n,,0,CPU,2018-05-22T19:53:36Z,1,20,user1,user2,b\n,,1,RAM,2018-05-22T19:53:26Z,1,2,user1,user2,b\n,,1,RAM,2018-05-22T19:53:36Z,2,4,user1,user2,b\n,,1,RAM,2018-05-22T19:53:46Z,3,4,user1,user2,b\n,,1,RAM,2018-05-22T19:53:56Z,5,0,user1,user2,b\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   30,
						},
					},
				},
				Value: "\n#datatype,string,long,string,dateTime:RFC3339,double,double,string,string,string\n#group,false,false,true,false,false,false,true,false,true\n#default,_result,,,,,,,,\n,result,table,_measurement,_time,_value_left,_value_right,user_left,user_right,_field\n,,0,CPU,2018-05-22T19:53:26Z,0,4,user1,user2,a\n,,0,CPU,2018-05-22T19:53:36Z,1,20,user1,user2,b\n,,1,RAM,2018-05-22T19:53:26Z,1,2,user1,user2,b\n,,1,RAM,2018-05-22T19:53:36Z,2,4,user1,user2,b\n,,1,RAM,2018-05-22T19:53:46Z,3,4,user1,user2,b\n,,1,RAM,2018-05-22T19:53:56Z,5,0,user1,user2,b\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "join_test.flux",
					Source: "t_join = (table=<-) => {\n    left = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"user\"])\n    right = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\", \"_field\"])\n\n    return join(tables: {left: left, right: right}, on: [\"_time\", \"_measurement\", \"_field\"])\n}",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   42,
						},
						File:   "join_test.flux",
						Source: "t_join",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "t_join",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "join_test.flux",
						Source: "(table=<-) => {\n    left = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"user\"])\n    right = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\", \"_field\"])\n\n    return join(tables: {left: left, right: right}, on: [\"_time\", \"_measurement\", \"_field\"])\n}",
						Start: ast.Position{
							Column: 10,
							Line:   42,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   55,
							},
							File:   "join_test.flux",
							Source: "{\n    left = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"user\"])\n    right = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\", \"_field\"])\n\n    return join(tables: {left: left, right: right}, on: [\"_time\", \"_measurement\", \"_field\"])\n}",
							Start: ast.Position{
								Column: 24,
								Line:   42,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 36,
									Line:   47,
								},
								File:   "join_test.flux",
								Source: "left = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"user\"])",
								Start: ast.Position{
									Column: 5,
									Line:   43,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 9,
										Line:   43,
									},
									File:   "join_test.flux",
									Source: "left",
									Start: ast.Position{
										Column: 5,
										Line:   43,
									},
								},
							},
							Name: "left",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   43,
													},
													File:   "join_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 12,
														Line:   43,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   44,
												},
												File:   "join_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
												Start: ast.Position{
													Column: 12,
													Line:   43,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   44,
														},
														File:   "join_test.flux",
														Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z",
														Start: ast.Position{
															Column: 18,
															Line:   44,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   44,
															},
															File:   "join_test.flux",
															Source: "start: 2018-05-22T19:53:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   44,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 23,
																	Line:   44,
																},
																File:   "join_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 18,
																	Line:   44,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   44,
																},
																File:   "join_test.flux",
																Source: "2018-05-22T19:53:00Z",
																Start: ast.Position{
																	Column: 25,
																	Line:   44,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   44,
															},
															File:   "join_test.flux",
															Source: "stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 47,
																Line:   44,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 51,
																	Line:   44,
																},
																File:   "join_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 47,
																	Line:   44,
																},
															},
														},
														Name: "stop",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   44,
																},
																File:   "join_test.flux",
																Source: "2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 53,
																	Line:   44,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   44,
													},
													File:   "join_test.flux",
													Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 12,
														Line:   44,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   44,
														},
														File:   "join_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 12,
															Line:   44,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   45,
											},
											File:   "join_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])",
											Start: ast.Position{
												Column: 12,
												Line:   43,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   45,
													},
													File:   "join_test.flux",
													Source: "columns: [\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 17,
														Line:   45,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   45,
														},
														File:   "join_test.flux",
														Source: "columns: [\"_start\", \"_stop\"]",
														Start: ast.Position{
															Column: 17,
															Line:   45,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 24,
																Line:   45,
															},
															File:   "join_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 17,
																Line:   45,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   45,
															},
															File:   "join_test.flux",
															Source: "[\"_start\", \"_stop\"]",
															Start: ast.Position{
																Column: 26,
																Line:   45,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   45,
																},
																File:   "join_test.flux",
																Source: "\"_start\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   45,
																},
															},
														},
														Value: "_start",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   45,
																},
																File:   "join_test.flux",
																Source: "\"_stop\"",
																Start: ast.Position{
																	Column: 37,
																	Line:   45,
																},
															},
														},
														Value: "_stop",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   45,
												},
												File:   "join_test.flux",
												Source: "drop(columns: [\"_start\", \"_stop\"])",
												Start: ast.Position{
													Column: 12,
													Line:   45,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   45,
													},
													File:   "join_test.flux",
													Source: "drop",
													Start: ast.Position{
														Column: 12,
														Line:   45,
													},
												},
											},
											Name: "drop",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   46,
										},
										File:   "join_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")",
										Start: ast.Position{
											Column: 12,
											Line:   43,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   46,
												},
												File:   "join_test.flux",
												Source: "fn: (r) => r.user == \"user1\"",
												Start: ast.Position{
													Column: 19,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   46,
													},
													File:   "join_test.flux",
													Source: "fn: (r) => r.user == \"user1\"",
													Start: ast.Position{
														Column: 19,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   46,
														},
														File:   "join_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   46,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   46,
														},
														File:   "join_test.flux",
														Source: "(r) => r.user == \"user1\"",
														Start: ast.Position{
															Column: 23,
															Line:   46,
														},
													},
												},
												Body: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   46,
															},
															File:   "join_test.flux",
															Source: "r.user == \"user1\"",
															Start: ast.Position{
																Column: 30,
																Line:   46,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 36,
																	Line:   46,
																},
																File:   "join_test.flux",
																Source: "r.user",
																Start: ast.Position{
																	Column: 30,
																	Line:   46,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 31,
																		Line:   46,
																	},
																	File:   "join_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 30,
																		Line:   46,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 36,
																		Line:   46,
																	},
																	File:   "join_test.flux",
																	Source: "user",
																	Start: ast.Position{
																		Column: 32,
																		Line:   46,
																	},
																},
															},
															Name: "user",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   46,
																},
																File:   "join_test.flux",
																Source: "\"user1\"",
																Start: ast.Position{
																	Column: 40,
																	Line:   46,
																},
															},
														},
														Value: "user1",
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   46,
															},
															File:   "join_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   46,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   46,
																},
																File:   "join_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   46,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   46,
											},
											File:   "join_test.flux",
											Source: "filter(fn: (r) => r.user == \"user1\")",
											Start: ast.Position{
												Column: 12,
												Line:   46,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   46,
												},
												File:   "join_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   46,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 36,
										Line:   47,
									},
									File:   "join_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user1\")\n        |> group(columns: [\"user\"])",
									Start: ast.Position{
										Column: 12,
										Line:   43,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   47,
											},
											File:   "join_test.flux",
											Source: "columns: [\"user\"]",
											Start: ast.Position{
												Column: 18,
												Line:   47,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 35,
													Line:   47,
												},
												File:   "join_test.flux",
												Source: "columns: [\"user\"]",
												Start: ast.Position{
													Column: 18,
													Line:   47,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   47,
													},
													File:   "join_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 18,
														Line:   47,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   47,
													},
													File:   "join_test.flux",
													Source: "[\"user\"]",
													Start: ast.Position{
														Column: 27,
														Line:   47,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   47,
														},
														File:   "join_test.flux",
														Source: "\"user\"",
														Start: ast.Position{
															Column: 28,
															Line:   47,
														},
													},
												},
												Value: "user",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   47,
										},
										File:   "join_test.flux",
										Source: "group(columns: [\"user\"])",
										Start: ast.Position{
											Column: 12,
											Line:   47,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   47,
											},
											File:   "join_test.flux",
											Source: "group",
											Start: ast.Position{
												Column: 12,
												Line:   47,
											},
										},
									},
									Name: "group",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 54,
									Line:   52,
								},
								File:   "join_test.flux",
								Source: "right = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\", \"_field\"])",
								Start: ast.Position{
									Column: 5,
									Line:   48,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   48,
									},
									File:   "join_test.flux",
									Source: "right",
									Start: ast.Position{
										Column: 5,
										Line:   48,
									},
								},
							},
							Name: "right",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   48,
													},
													File:   "join_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 13,
														Line:   48,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   49,
												},
												File:   "join_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
												Start: ast.Position{
													Column: 13,
													Line:   48,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   49,
														},
														File:   "join_test.flux",
														Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z",
														Start: ast.Position{
															Column: 18,
															Line:   49,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   49,
															},
															File:   "join_test.flux",
															Source: "start: 2018-05-22T19:53:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   49,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 23,
																	Line:   49,
																},
																File:   "join_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 18,
																	Line:   49,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   49,
																},
																File:   "join_test.flux",
																Source: "2018-05-22T19:53:00Z",
																Start: ast.Position{
																	Column: 25,
																	Line:   49,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   49,
															},
															File:   "join_test.flux",
															Source: "stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 47,
																Line:   49,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 51,
																	Line:   49,
																},
																File:   "join_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 47,
																	Line:   49,
																},
															},
														},
														Name: "stop",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   49,
																},
																File:   "join_test.flux",
																Source: "2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 53,
																	Line:   49,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   49,
													},
													File:   "join_test.flux",
													Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 12,
														Line:   49,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   49,
														},
														File:   "join_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 12,
															Line:   49,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   50,
											},
											File:   "join_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])",
											Start: ast.Position{
												Column: 13,
												Line:   48,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   50,
													},
													File:   "join_test.flux",
													Source: "columns: [\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 17,
														Line:   50,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   50,
														},
														File:   "join_test.flux",
														Source: "columns: [\"_start\", \"_stop\"]",
														Start: ast.Position{
															Column: 17,
															Line:   50,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 24,
																Line:   50,
															},
															File:   "join_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 17,
																Line:   50,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   50,
															},
															File:   "join_test.flux",
															Source: "[\"_start\", \"_stop\"]",
															Start: ast.Position{
																Column: 26,
																Line:   50,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   50,
																},
																File:   "join_test.flux",
																Source: "\"_start\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   50,
																},
															},
														},
														Value: "_start",
													}, &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   50,
																},
																File:   "join_test.flux",
																Source: "\"_stop\"",
																Start: ast.Position{
																	Column: 37,
																	Line:   50,
																},
															},
														},
														Value: "_stop",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   50,
												},
												File:   "join_test.flux",
												Source: "drop(columns: [\"_start\", \"_stop\"])",
												Start: ast.Position{
													Column: 12,
													Line:   50,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   50,
													},
													File:   "join_test.flux",
													Source: "drop",
													Start: ast.Position{
														Column: 12,
														Line:   50,
													},
												},
											},
											Name: "drop",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   51,
										},
										File:   "join_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")",
										Start: ast.Position{
											Column: 13,
											Line:   48,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   51,
												},
												File:   "join_test.flux",
												Source: "fn: (r) => r.user == \"user2\"",
												Start: ast.Position{
													Column: 19,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   51,
													},
													File:   "join_test.flux",
													Source: "fn: (r) => r.user == \"user2\"",
													Start: ast.Position{
														Column: 19,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   51,
														},
														File:   "join_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   51,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   51,
														},
														File:   "join_test.flux",
														Source: "(r) => r.user == \"user2\"",
														Start: ast.Position{
															Column: 23,
															Line:   51,
														},
													},
												},
												Body: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   51,
															},
															File:   "join_test.flux",
															Source: "r.user == \"user2\"",
															Start: ast.Position{
																Column: 30,
																Line:   51,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 36,
																	Line:   51,
																},
																File:   "join_test.flux",
																Source: "r.user",
																Start: ast.Position{
																	Column: 30,
																	Line:   51,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 31,
																		Line:   51,
																	},
																	File:   "join_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 30,
																		Line:   51,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 36,
																		Line:   51,
																	},
																	File:   "join_test.flux",
																	Source: "user",
																	Start: ast.Position{
																		Column: 32,
																		Line:   51,
																	},
																},
															},
															Name: "user",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   51,
																},
																File:   "join_test.flux",
																Source: "\"user2\"",
																Start: ast.Position{
																	Column: 40,
																	Line:   51,
																},
															},
														},
														Value: "user2",
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   51,
															},
															File:   "join_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   51,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   51,
																},
																File:   "join_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   51,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   51,
											},
											File:   "join_test.flux",
											Source: "filter(fn: (r) => r.user == \"user2\")",
											Start: ast.Position{
												Column: 12,
												Line:   51,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   51,
												},
												File:   "join_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   51,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 54,
										Line:   52,
									},
									File:   "join_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n        |> drop(columns: [\"_start\", \"_stop\"])\n        |> filter(fn: (r) => r.user == \"user2\")\n        |> group(columns: [\"_measurement\", \"_field\"])",
									Start: ast.Position{
										Column: 13,
										Line:   48,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 53,
												Line:   52,
											},
											File:   "join_test.flux",
											Source: "columns: [\"_measurement\", \"_field\"]",
											Start: ast.Position{
												Column: 18,
												Line:   52,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   52,
												},
												File:   "join_test.flux",
												Source: "columns: [\"_measurement\", \"_field\"]",
												Start: ast.Position{
													Column: 18,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   52,
													},
													File:   "join_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 18,
														Line:   52,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   52,
													},
													File:   "join_test.flux",
													Source: "[\"_measurement\", \"_field\"]",
													Start: ast.Position{
														Column: 27,
														Line:   52,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 42,
															Line:   52,
														},
														File:   "join_test.flux",
														Source: "\"_measurement\"",
														Start: ast.Position{
															Column: 28,
															Line:   52,
														},
													},
												},
												Value: "_measurement",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   52,
														},
														File:   "join_test.flux",
														Source: "\"_field\"",
														Start: ast.Position{
															Column: 44,
															Line:   52,
														},
													},
												},
												Value: "_field",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   52,
										},
										File:   "join_test.flux",
										Source: "group(columns: [\"_measurement\", \"_field\"])",
										Start: ast.Position{
											Column: 12,
											Line:   52,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   52,
											},
											File:   "join_test.flux",
											Source: "group",
											Start: ast.Position{
												Column: 12,
												Line:   52,
											},
										},
									},
									Name: "group",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 92,
											Line:   54,
										},
										File:   "join_test.flux",
										Source: "tables: {left: left, right: right}, on: [\"_time\", \"_measurement\", \"_field\"]",
										Start: ast.Position{
											Column: 17,
											Line:   54,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   54,
											},
											File:   "join_test.flux",
											Source: "tables: {left: left, right: right}",
											Start: ast.Position{
												Column: 17,
												Line:   54,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 23,
													Line:   54,
												},
												File:   "join_test.flux",
												Source: "tables",
												Start: ast.Position{
													Column: 17,
													Line:   54,
												},
											},
										},
										Name: "tables",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   54,
												},
												File:   "join_test.flux",
												Source: "{left: left, right: right}",
												Start: ast.Position{
													Column: 25,
													Line:   54,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   54,
													},
													File:   "join_test.flux",
													Source: "left: left",
													Start: ast.Position{
														Column: 26,
														Line:   54,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   54,
														},
														File:   "join_test.flux",
														Source: "left",
														Start: ast.Position{
															Column: 26,
															Line:   54,
														},
													},
												},
												Name: "left",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 36,
															Line:   54,
														},
														File:   "join_test.flux",
														Source: "left",
														Start: ast.Position{
															Column: 32,
															Line:   54,
														},
													},
												},
												Name: "left",
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   54,
													},
													File:   "join_test.flux",
													Source: "right: right",
													Start: ast.Position{
														Column: 38,
														Line:   54,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   54,
														},
														File:   "join_test.flux",
														Source: "right",
														Start: ast.Position{
															Column: 38,
															Line:   54,
														},
													},
												},
												Name: "right",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 50,
															Line:   54,
														},
														File:   "join_test.flux",
														Source: "right",
														Start: ast.Position{
															Column: 45,
															Line:   54,
														},
													},
												},
												Name: "right",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 92,
												Line:   54,
											},
											File:   "join_test.flux",
											Source: "on: [\"_time\", \"_measurement\", \"_field\"]",
											Start: ast.Position{
												Column: 53,
												Line:   54,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   54,
												},
												File:   "join_test.flux",
												Source: "on",
												Start: ast.Position{
													Column: 53,
													Line:   54,
												},
											},
										},
										Name: "on",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   54,
												},
												File:   "join_test.flux",
												Source: "[\"_time\", \"_measurement\", \"_field\"]",
												Start: ast.Position{
													Column: 57,
													Line:   54,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   54,
													},
													File:   "join_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 58,
														Line:   54,
													},
												},
											},
											Value: "_time",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   54,
													},
													File:   "join_test.flux",
													Source: "\"_measurement\"",
													Start: ast.Position{
														Column: 67,
														Line:   54,
													},
												},
											},
											Value: "_measurement",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   54,
													},
													File:   "join_test.flux",
													Source: "\"_field\"",
													Start: ast.Position{
														Column: 83,
														Line:   54,
													},
												},
											},
											Value: "_field",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 93,
										Line:   54,
									},
									File:   "join_test.flux",
									Source: "join(tables: {left: left, right: right}, on: [\"_time\", \"_measurement\", \"_field\"])",
									Start: ast.Position{
										Column: 12,
										Line:   54,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   54,
										},
										File:   "join_test.flux",
										Source: "join",
										Start: ast.Position{
											Column: 12,
											Line:   54,
										},
									},
								},
								Name: "join",
							},
							Lparen: nil,
							Rparen: nil,
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 93,
									Line:   54,
								},
								File:   "join_test.flux",
								Source: "return join(tables: {left: left, right: right}, on: [\"_time\", \"_measurement\", \"_field\"])",
								Start: ast.Position{
									Column: 5,
									Line:   54,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   42,
							},
							File:   "join_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   42,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   42,
								},
								File:   "join_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   42,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   42,
							},
							File:   "join_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   42,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   57,
						},
						File:   "join_test.flux",
						Source: "_join = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
						Start: ast.Position{
							Column: 6,
							Line:   57,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   57,
							},
							File:   "join_test.flux",
							Source: "_join",
							Start: ast.Position{
								Column: 6,
								Line:   57,
							},
						},
					},
					Name: "_join",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   57,
							},
							File:   "join_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
							Start: ast.Position{
								Column: 14,
								Line:   57,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   57,
								},
								File:   "join_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
								Start: ast.Position{
									Column: 20,
									Line:   57,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   57,
									},
									File:   "join_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join}",
									Start: ast.Position{
										Column: 21,
										Line:   57,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   57,
										},
										File:   "join_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   57,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   57,
											},
											File:   "join_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   57,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   57,
												},
												File:   "join_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   57,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   57,
													},
													File:   "join_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   57,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   57,
														},
														File:   "join_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   57,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   57,
														},
														File:   "join_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   57,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   57,
											},
											File:   "join_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   57,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   57,
												},
												File:   "join_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   57,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   57,
													},
													File:   "join_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   57,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   57,
													},
													File:   "join_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   57,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   57,
										},
										File:   "join_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   57,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   57,
											},
											File:   "join_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   57,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   57,
												},
												File:   "join_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   57,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   57,
													},
													File:   "join_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   57,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   57,
														},
														File:   "join_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   57,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   57,
														},
														File:   "join_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   57,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   57,
											},
											File:   "join_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   57,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   57,
												},
												File:   "join_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   57,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   57,
													},
													File:   "join_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   57,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   57,
													},
													File:   "join_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   57,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   57,
										},
										File:   "join_test.flux",
										Source: "fn: t_join",
										Start: ast.Position{
											Column: 100,
											Line:   57,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   57,
											},
											File:   "join_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   57,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   57,
											},
											File:   "join_test.flux",
											Source: "t_join",
											Start: ast.Position{
												Column: 104,
												Line:   57,
											},
										},
									},
									Name: "t_join",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   57,
					},
					File:   "join_test.flux",
					Source: "test _join = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join})",
					Start: ast.Position{
						Column: 1,
						Line:   57,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "join_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "join_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "join_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "join_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "join_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 125,
					Line:   39,
				},
				File:   "join_two_same_sources_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"array\"\n\ninData = array.from(\n    rows: [\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n    ],\n)\nget_input = () => inData\noutData = \"\n#group,false,false,false,false,false,false,true,true,true,true,false,false,false\n#datatype,string,long,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,long\n#default,_result,,,,,,,,,,,,\n,result,table,_field_d1,_field_d2,_measurement_d1,_measurement_d2,_start_d1,_start_d2,_stop_d1,_stop_d2,_time,_value_d1,_value_d2\n,,0,id,guild,command,command,2018-12-19T22:13:30Z,2018-12-19T22:13:30Z,2018-12-19T22:13:50Z,2018-12-19T22:13:50Z,2018-12-19T22:13:31Z,12,12\n,,0,id,guild,command,command,2018-12-19T22:13:30Z,2018-12-19T22:13:30Z,2018-12-19T22:13:50Z,2018-12-19T22:13:50Z,2018-12-19T22:13:41Z,23,23\n\"\nt_join_two_same_sources = (table=<-) => {\n    data_1 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"id\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)\n    data_2 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"guild\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)\n\n    return join(tables: {d1: data_1, d2: data_2}, on: [\"_time\"])\n}\n\ntest _join_two_same_sources = () => ({input: get_input(), want: testing.loadMem(csv: outData), fn: t_join_two_same_sources})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   16,
					},
					File:   "join_two_same_sources_test.flux",
					Source: "inData = array.from(\n    rows: [\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n    ],\n)",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   7,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   7,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.CallExpression{
				Arguments: []ast.Expression{&ast.ObjectExpression{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   15,
							},
							File:   "join_two_same_sources_test.flux",
							Source: "rows: [\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n    ]",
							Start: ast.Position{
								Column: 5,
								Line:   8,
							},
						},
					},
					Lbrace: nil,
					Properties: []*ast.Property{&ast.Property{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   15,
								},
								File:   "join_two_same_sources_test.flux",
								Source: "rows: [\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n    ]",
								Start: ast.Position{
									Column: 5,
									Line:   8,
								},
							},
						},
						Comma: nil,
						Key: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 9,
										Line:   8,
									},
									File:   "join_two_same_sources_test.flux",
									Source: "rows",
									Start: ast.Position{
										Column: 5,
										Line:   8,
									},
								},
							},
							Name: "rows",
						},
						Separator: nil,
						Value: &ast.ArrayExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 6,
										Line:   15,
									},
									File:   "join_two_same_sources_test.flux",
									Source: "[\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n    ]",
									Start: ast.Position{
										Column: 11,
										Line:   8,
									},
								},
							},
							Elements: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 93,
											Line:   9,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "{_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:30.005Z, _value: 12}",
										Start: ast.Position{
											Column: 9,
											Line:   9,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   9,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_measurement: \"command\"",
											Start: ast.Position{
												Column: 10,
												Line:   9,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   9,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_measurement",
												Start: ast.Position{
													Column: 10,
													Line:   9,
												},
											},
										},
										Name: "_measurement",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   9,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"command\"",
												Start: ast.Position{
													Column: 24,
													Line:   9,
												},
											},
										},
										Value: "command",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   9,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_field: \"id\"",
											Start: ast.Position{
												Column: 35,
												Line:   9,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   9,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_field",
												Start: ast.Position{
													Column: 35,
													Line:   9,
												},
											},
										},
										Name: "_field",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   9,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"id\"",
												Start: ast.Position{
													Column: 43,
													Line:   9,
												},
											},
										},
										Value: "id",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   9,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_time: 2018-12-19T22:13:30.005Z",
											Start: ast.Position{
												Column: 49,
												Line:   9,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   9,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_time",
												Start: ast.Position{
													Column: 49,
													Line:   9,
												},
											},
										},
										Name: "_time",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 80,
													Line:   9,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "2018-12-19T22:13:30.005Z",
												Start: ast.Position{
													Column: 56,
													Line:   9,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-19T22:13:30.005Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 92,
												Line:   9,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_value: 12",
											Start: ast.Position{
												Column: 82,
												Line:   9,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 88,
													Line:   9,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 82,
													Line:   9,
												},
											},
										},
										Name: "_value",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   9,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "12",
												Start: ast.Position{
													Column: 90,
													Line:   9,
												},
											},
										},
										Value: int64(12),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}, &ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 93,
											Line:   10,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "{_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:40.005Z, _value: 23}",
										Start: ast.Position{
											Column: 9,
											Line:   10,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   10,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_measurement: \"command\"",
											Start: ast.Position{
												Column: 10,
												Line:   10,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   10,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_measurement",
												Start: ast.Position{
													Column: 10,
													Line:   10,
												},
											},
										},
										Name: "_measurement",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   10,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"command\"",
												Start: ast.Position{
													Column: 24,
													Line:   10,
												},
											},
										},
										Value: "command",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   10,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_field: \"id\"",
											Start: ast.Position{
												Column: 35,
												Line:   10,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   10,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_field",
												Start: ast.Position{
													Column: 35,
													Line:   10,
												},
											},
										},
										Name: "_field",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   10,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"id\"",
												Start: ast.Position{
													Column: 43,
													Line:   10,
												},
											},
										},
										Value: "id",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   10,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_time: 2018-12-19T22:13:40.005Z",
											Start: ast.Position{
												Column: 49,
												Line:   10,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   10,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_time",
												Start: ast.Position{
													Column: 49,
													Line:   10,
												},
											},
										},
										Name: "_time",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 80,
													Line:   10,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "2018-12-19T22:13:40.005Z",
												Start: ast.Position{
													Column: 56,
													Line:   10,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-19T22:13:40.005Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 92,
												Line:   10,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_value: 23",
											Start: ast.Position{
												Column: 82,
												Line:   10,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 88,
													Line:   10,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 82,
													Line:   10,
												},
											},
										},
										Name: "_value",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   10,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "23",
												Start: ast.Position{
													Column: 90,
													Line:   10,
												},
											},
										},
										Value: int64(23),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}, &ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 93,
											Line:   11,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "{_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:50.005Z, _value: 34}",
										Start: ast.Position{
											Column: 9,
											Line:   11,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   11,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_measurement: \"command\"",
											Start: ast.Position{
												Column: 10,
												Line:   11,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   11,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_measurement",
												Start: ast.Position{
													Column: 10,
													Line:   11,
												},
											},
										},
										Name: "_measurement",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   11,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"command\"",
												Start: ast.Position{
													Column: 24,
													Line:   11,
												},
											},
										},
										Value: "command",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   11,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_field: \"id\"",
											Start: ast.Position{
												Column: 35,
												Line:   11,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   11,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_field",
												Start: ast.Position{
													Column: 35,
													Line:   11,
												},
											},
										},
										Name: "_field",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   11,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"id\"",
												Start: ast.Position{
													Column: 43,
													Line:   11,
												},
											},
										},
										Value: "id",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   11,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_time: 2018-12-19T22:13:50.005Z",
											Start: ast.Position{
												Column: 49,
												Line:   11,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   11,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_time",
												Start: ast.Position{
													Column: 49,
													Line:   11,
												},
											},
										},
										Name: "_time",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 80,
													Line:   11,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "2018-12-19T22:13:50.005Z",
												Start: ast.Position{
													Column: 56,
													Line:   11,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-19T22:13:50.005Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 92,
												Line:   11,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_value: 34",
											Start: ast.Position{
												Column: 82,
												Line:   11,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 88,
													Line:   11,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 82,
													Line:   11,
												},
											},
										},
										Name: "_value",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   11,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "34",
												Start: ast.Position{
													Column: 90,
													Line:   11,
												},
											},
										},
										Value: int64(34),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}, &ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 96,
											Line:   12,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "{_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:30.005Z, _value: 12}",
										Start: ast.Position{
											Column: 9,
											Line:   12,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   12,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_measurement: \"command\"",
											Start: ast.Position{
												Column: 10,
												Line:   12,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   12,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_measurement",
												Start: ast.Position{
													Column: 10,
													Line:   12,
												},
											},
										},
										Name: "_measurement",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   12,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"command\"",
												Start: ast.Position{
													Column: 24,
													Line:   12,
												},
											},
										},
										Value: "command",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   12,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_field: \"guild\"",
											Start: ast.Position{
												Column: 35,
												Line:   12,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   12,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_field",
												Start: ast.Position{
													Column: 35,
													Line:   12,
												},
											},
										},
										Name: "_field",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   12,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"guild\"",
												Start: ast.Position{
													Column: 43,
													Line:   12,
												},
											},
										},
										Value: "guild",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   12,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_time: 2018-12-19T22:13:30.005Z",
											Start: ast.Position{
												Column: 52,
												Line:   12,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   12,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_time",
												Start: ast.Position{
													Column: 52,
													Line:   12,
												},
											},
										},
										Name: "_time",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   12,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "2018-12-19T22:13:30.005Z",
												Start: ast.Position{
													Column: 59,
													Line:   12,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-19T22:13:30.005Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 95,
												Line:   12,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_value: 12",
											Start: ast.Position{
												Column: 85,
												Line:   12,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 91,
													Line:   12,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 85,
													Line:   12,
												},
											},
										},
										Name: "_value",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   12,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "12",
												Start: ast.Position{
													Column: 93,
													Line:   12,
												},
											},
										},
										Value: int64(12),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}, &ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 96,
											Line:   13,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "{_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:40.005Z, _value: 23}",
										Start: ast.Position{
											Column: 9,
											Line:   13,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   13,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_measurement: \"command\"",
											Start: ast.Position{
												Column: 10,
												Line:   13,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   13,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_measurement",
												Start: ast.Position{
													Column: 10,
													Line:   13,
												},
											},
										},
										Name: "_measurement",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   13,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"command\"",
												Start: ast.Position{
													Column: 24,
													Line:   13,
												},
											},
										},
										Value: "command",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   13,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_field: \"guild\"",
											Start: ast.Position{
												Column: 35,
												Line:   13,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   13,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_field",
												Start: ast.Position{
													Column: 35,
													Line:   13,
												},
											},
										},
										Name: "_field",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   13,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"guild\"",
												Start: ast.Position{
													Column: 43,
													Line:   13,
												},
											},
										},
										Value: "guild",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   13,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_time: 2018-12-19T22:13:40.005Z",
											Start: ast.Position{
												Column: 52,
												Line:   13,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   13,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_time",
												Start: ast.Position{
													Column: 52,
													Line:   13,
												},
											},
										},
										Name: "_time",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   13,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "2018-12-19T22:13:40.005Z",
												Start: ast.Position{
													Column: 59,
													Line:   13,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-19T22:13:40.005Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 95,
												Line:   13,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_value: 23",
											Start: ast.Position{
												Column: 85,
												Line:   13,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 91,
													Line:   13,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 85,
													Line:   13,
												},
											},
										},
										Name: "_value",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   13,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "23",
												Start: ast.Position{
													Column: 93,
													Line:   13,
												},
											},
										},
										Value: int64(23),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}, &ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 96,
											Line:   14,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "{_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:50.005Z, _value: 34}",
										Start: ast.Position{
											Column: 9,
											Line:   14,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   14,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_measurement: \"command\"",
											Start: ast.Position{
												Column: 10,
												Line:   14,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   14,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_measurement",
												Start: ast.Position{
													Column: 10,
													Line:   14,
												},
											},
										},
										Name: "_measurement",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   14,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"command\"",
												Start: ast.Position{
													Column: 24,
													Line:   14,
												},
											},
										},
										Value: "command",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   14,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_field: \"guild\"",
											Start: ast.Position{
												Column: 35,
												Line:   14,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   14,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_field",
												Start: ast.Position{
													Column: 35,
													Line:   14,
												},
											},
										},
										Name: "_field",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   14,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "\"guild\"",
												Start: ast.Position{
													Column: 43,
													Line:   14,
												},
											},
										},
										Value: "guild",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   14,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_time: 2018-12-19T22:13:50.005Z",
											Start: ast.Position{
												Column: 52,
												Line:   14,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   14,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_time",
												Start: ast.Position{
													Column: 52,
													Line:   14,
												},
											},
										},
										Name: "_time",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   14,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "2018-12-19T22:13:50.005Z",
												Start: ast.Position{
													Column: 59,
													Line:   14,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-19T22:13:50.005Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 95,
												Line:   14,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "_value: 34",
											Start: ast.Position{
												Column: 85,
												Line:   14,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 91,
													Line:   14,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "_value",
												Start: ast.Position{
													Column: 85,
													Line:   14,
												},
											},
										},
										Name: "_value",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   14,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "34",
												Start: ast.Position{
													Column: 93,
													Line:   14,
												},
											},
										},
										Value: int64(34),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							Lbrack: nil,
							Rbrack: nil,
						},
					}},
					Rbrace: nil,
					With:   nil,
				}},
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   16,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "array.from(\n    rows: [\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"id\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:30.005Z, _value: 12},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:40.005Z, _value: 23},\n        {_measurement: \"command\", _field: \"guild\", _time: 2018-12-19T22:13:50.005Z, _value: 34},\n    ],\n)",
						Start: ast.Position{
							Column: 10,
							Line:   7,
						},
					},
				},
				Callee: &ast.MemberExpression{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   7,
							},
							File:   "join_two_same_sources_test.flux",
							Source: "array.from",
							Start: ast.Position{
								Column: 10,
								Line:   7,
							},
						},
					},
					Lbrack: nil,
					Object: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   7,
								},
								File:   "join_two_same_sources_test.flux",
								Source: "array",
								Start: ast.Position{
									Column: 10,
									Line:   7,
								},
							},
						},
						Name: "array",
					},
					Property: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   7,
								},
								File:   "join_two_same_sources_test.flux",
								Source: "from",
								Start: ast.Position{
									Column: 16,
									Line:   7,
								},
							},
						},
						Name: "from",
					},
					Rbrack: nil,
				},
				Lparen: nil,
				Rparen: nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 25,
						Line:   17,
					},
					File:   "join_two_same_sources_test.flux",
					Source: "get_input = () => inData",
					Start: ast.Position{
						Column: 1,
						Line:   17,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   17,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "get_input",
						Start: ast.Position{
							Column: 1,
							Line:   17,
						},
					},
				},
				Name: "get_input",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   17,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "() => inData",
						Start: ast.Position{
							Column: 13,
							Line:   17,
						},
					},
				},
				Body: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   17,
							},
							File:   "join_two_same_sources_test.flux",
							Source: "inData",
							Start: ast.Position{
								Column: 19,
								Line:   17,
							},
						},
					},
					Name: "inData",
				},
				Lparen: nil,
				Params: []*ast.Property{},
				Rparan: nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "join_two_same_sources_test.flux",
					Source: "outData = \"\n#group,false,false,false,false,false,false,true,true,true,true,false,false,false\n#datatype,string,long,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,long\n#default,_result,,,,,,,,,,,,\n,result,table,_field_d1,_field_d2,_measurement_d1,_measurement_d2,_start_d1,_start_d2,_stop_d1,_stop_d2,_time,_value_d1,_value_d2\n,,0,id,guild,command,command,2018-12-19T22:13:30Z,2018-12-19T22:13:30Z,2018-12-19T22:13:50Z,2018-12-19T22:13:50Z,2018-12-19T22:13:31Z,12,12\n,,0,id,guild,command,command,2018-12-19T22:13:30Z,2018-12-19T22:13:30Z,2018-12-19T22:13:50Z,2018-12-19T22:13:50Z,2018-12-19T22:13:41Z,23,23\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   18,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   18,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   18,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "\"\n#group,false,false,false,false,false,false,true,true,true,true,false,false,false\n#datatype,string,long,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,long\n#default,_result,,,,,,,,,,,,\n,result,table,_field_d1,_field_d2,_measurement_d1,_measurement_d2,_start_d1,_start_d2,_stop_d1,_stop_d2,_time,_value_d1,_value_d2\n,,0,id,guild,command,command,2018-12-19T22:13:30Z,2018-12-19T22:13:30Z,2018-12-19T22:13:50Z,2018-12-19T22:13:50Z,2018-12-19T22:13:31Z,12,12\n,,0,id,guild,command,command,2018-12-19T22:13:30Z,2018-12-19T22:13:30Z,2018-12-19T22:13:50Z,2018-12-19T22:13:50Z,2018-12-19T22:13:41Z,23,23\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   18,
						},
					},
				},
				Value: "\n#group,false,false,false,false,false,false,true,true,true,true,false,false,false\n#datatype,string,long,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,long\n#default,_result,,,,,,,,,,,,\n,result,table,_field_d1,_field_d2,_measurement_d1,_measurement_d2,_start_d1,_start_d2,_stop_d1,_stop_d2,_time,_value_d1,_value_d2\n,,0,id,guild,command,command,2018-12-19T22:13:30Z,2018-12-19T22:13:30Z,2018-12-19T22:13:50Z,2018-12-19T22:13:50Z,2018-12-19T22:13:31Z,12,12\n,,0,id,guild,command,command,2018-12-19T22:13:30Z,2018-12-19T22:13:30Z,2018-12-19T22:13:50Z,2018-12-19T22:13:50Z,2018-12-19T22:13:41Z,23,23\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "join_two_same_sources_test.flux",
					Source: "t_join_two_same_sources = (table=<-) => {\n    data_1 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"id\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)\n    data_2 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"guild\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)\n\n    return join(tables: {d1: data_1, d2: data_2}, on: [\"_time\"])\n}",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   26,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "t_join_two_same_sources",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "t_join_two_same_sources",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "(table=<-) => {\n    data_1 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"id\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)\n    data_2 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"guild\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)\n\n    return join(tables: {d1: data_1, d2: data_2}, on: [\"_time\"])\n}",
						Start: ast.Position{
							Column: 27,
							Line:   26,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   37,
							},
							File:   "join_two_same_sources_test.flux",
							Source: "{\n    data_1 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"id\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)\n    data_2 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"guild\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)\n\n    return join(tables: {d1: data_1, d2: data_2}, on: [\"_time\"])\n}",
							Start: ast.Position{
								Column: 41,
								Line:   26,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 68,
									Line:   30,
								},
								File:   "join_two_same_sources_test.flux",
								Source: "data_1 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"id\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)",
								Start: ast.Position{
									Column: 5,
									Line:   27,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   27,
									},
									File:   "join_two_same_sources_test.flux",
									Source: "data_1",
									Start: ast.Position{
										Column: 5,
										Line:   27,
									},
								},
							},
							Name: "data_1",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   27,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 14,
													Line:   27,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   28,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)",
											Start: ast.Position{
												Column: 14,
												Line:   27,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   28,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z",
													Start: ast.Position{
														Column: 18,
														Line:   28,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   28,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "start: 2018-12-19T22:13:30Z",
														Start: ast.Position{
															Column: 18,
															Line:   28,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 23,
																Line:   28,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 18,
																Line:   28,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   28,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "2018-12-19T22:13:30Z",
															Start: ast.Position{
																Column: 25,
																Line:   28,
															},
														},
													},
													Value: parser.MustParseTime("2018-12-19T22:13:30Z"),
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   28,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "stop: 2018-12-19T22:13:50Z",
														Start: ast.Position{
															Column: 47,
															Line:   28,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 51,
																Line:   28,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "stop",
															Start: ast.Position{
																Column: 47,
																Line:   28,
															},
														},
													},
													Name: "stop",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   28,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "2018-12-19T22:13:50Z",
															Start: ast.Position{
																Column: 53,
																Line:   28,
															},
														},
													},
													Value: parser.MustParseTime("2018-12-19T22:13:50Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   28,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)",
												Start: ast.Position{
													Column: 12,
													Line:   28,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   28,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 12,
														Line:   28,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 79,
											Line:   29,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"id\")",
										Start: ast.Position{
											Column: 14,
											Line:   27,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   29,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "fn: (r) => r._measurement == \"command\" and r._field == \"id\"",
												Start: ast.Position{
													Column: 19,
													Line:   29,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   29,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "fn: (r) => r._measurement == \"command\" and r._field == \"id\"",
													Start: ast.Position{
														Column: 19,
														Line:   29,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   29,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   29,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 78,
															Line:   29,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "(r) => r._measurement == \"command\" and r._field == \"id\"",
														Start: ast.Position{
															Column: 23,
															Line:   29,
														},
													},
												},
												Body: &ast.LogicalExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 78,
																Line:   29,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "r._measurement == \"command\" and r._field == \"id\"",
															Start: ast.Position{
																Column: 30,
																Line:   29,
															},
														},
													},
													Left: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 57,
																	Line:   29,
																},
																File:   "join_two_same_sources_test.flux",
																Source: "r._measurement == \"command\"",
																Start: ast.Position{
																	Column: 30,
																	Line:   29,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 44,
																		Line:   29,
																	},
																	File:   "join_two_same_sources_test.flux",
																	Source: "r._measurement",
																	Start: ast.Position{
																		Column: 30,
																		Line:   29,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 31,
																			Line:   29,
																		},
																		File:   "join_two_same_sources_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 30,
																			Line:   29,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 44,
																			Line:   29,
																		},
																		File:   "join_two_same_sources_test.flux",
																		Source: "_measurement",
																		Start: ast.Position{
																			Column: 32,
																			Line:   29,
																		},
																	},
																},
																Name: "_measurement",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 57,
																		Line:   29,
																	},
																	File:   "join_two_same_sources_test.flux",
																	Source: "\"command\"",
																	Start: ast.Position{
																		Column: 48,
																		Line:   29,
																	},
																},
															},
															Value: "command",
														},
													},
													Operator: 1,
													Right: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 78,
																	Line:   29,
																},
																File:   "join_two_same_sources_test.flux",
																Source: "r._field == \"id\"",
																Start: ast.Position{
																	Column: 62,
																	Line:   29,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 70,
																		Line:   29,
																	},
																	File:   "join_two_same_sources_test.flux",
																	Source: "r._field",
																	Start: ast.Position{
																		Column: 62,
																		Line:   29,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 63,
																			Line:   29,
																		},
																		File:   "join_two_same_sources_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 62,
																			Line:   29,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 70,
																			Line:   29,
																		},
																		File:   "join_two_same_sources_test.flux",
																		Source: "_field",
																		Start: ast.Position{
																			Column: 64,
																			Line:   29,
																		},
																	},
																},
																Name: "_field",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 78,
																		Line:   29,
																	},
																	File:   "join_two_same_sources_test.flux",
																	Source: "\"id\"",
																	Start: ast.Position{
																		Column: 74,
																		Line:   29,
																	},
																},
															},
															Value: "id",
														},
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   29,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   29,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   29,
																},
																File:   "join_two_same_sources_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   29,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   29,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "filter(fn: (r) => r._measurement == \"command\" and r._field == \"id\")",
											Start: ast.Position{
												Column: 12,
												Line:   29,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   29,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   29,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 68,
										Line:   30,
									},
									File:   "join_two_same_sources_test.flux",
									Source: "table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"id\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)",
									Start: ast.Position{
										Column: 14,
										Line:   27,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   30,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "every: 1s, fn: last, createEmpty: false",
											Start: ast.Position{
												Column: 28,
												Line:   30,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   30,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "every: 1s",
												Start: ast.Position{
													Column: 28,
													Line:   30,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 33,
														Line:   30,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "every",
													Start: ast.Position{
														Column: 28,
														Line:   30,
													},
												},
											},
											Name: "every",
										},
										Separator: nil,
										Value: &ast.DurationLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   30,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "1s",
													Start: ast.Position{
														Column: 35,
														Line:   30,
													},
												},
											},
											Values: []ast.Duration{ast.Duration{
												Magnitude: int64(1),
												Unit:      "s",
											}},
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   30,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "fn: last",
												Start: ast.Position{
													Column: 39,
													Line:   30,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   30,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 39,
														Line:   30,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   30,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "last",
													Start: ast.Position{
														Column: 43,
														Line:   30,
													},
												},
											},
											Name: "last",
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   30,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "createEmpty: false",
												Start: ast.Position{
													Column: 49,
													Line:   30,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   30,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "createEmpty",
													Start: ast.Position{
														Column: 49,
														Line:   30,
													},
												},
											},
											Name: "createEmpty",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   30,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "false",
													Start: ast.Position{
														Column: 62,
														Line:   30,
													},
												},
											},
											Name: "false",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   30,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "aggregateWindow(every: 1s, fn: last, createEmpty: false)",
										Start: ast.Position{
											Column: 12,
											Line:   30,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   30,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "aggregateWindow",
											Start: ast.Position{
												Column: 12,
												Line:   30,
											},
										},
									},
									Name: "aggregateWindow",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 68,
									Line:   34,
								},
								File:   "join_two_same_sources_test.flux",
								Source: "data_2 = table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"guild\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)",
								Start: ast.Position{
									Column: 5,
									Line:   31,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   31,
									},
									File:   "join_two_same_sources_test.flux",
									Source: "data_2",
									Start: ast.Position{
										Column: 5,
										Line:   31,
									},
								},
							},
							Name: "data_2",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 14,
													Line:   31,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   32,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)",
											Start: ast.Position{
												Column: 14,
												Line:   31,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   32,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z",
													Start: ast.Position{
														Column: 18,
														Line:   32,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   32,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "start: 2018-12-19T22:13:30Z",
														Start: ast.Position{
															Column: 18,
															Line:   32,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 23,
																Line:   32,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 18,
																Line:   32,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   32,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "2018-12-19T22:13:30Z",
															Start: ast.Position{
																Column: 25,
																Line:   32,
															},
														},
													},
													Value: parser.MustParseTime("2018-12-19T22:13:30Z"),
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   32,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "stop: 2018-12-19T22:13:50Z",
														Start: ast.Position{
															Column: 47,
															Line:   32,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 51,
																Line:   32,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "stop",
															Start: ast.Position{
																Column: 47,
																Line:   32,
															},
														},
													},
													Name: "stop",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   32,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "2018-12-19T22:13:50Z",
															Start: ast.Position{
																Column: 53,
																Line:   32,
															},
														},
													},
													Value: parser.MustParseTime("2018-12-19T22:13:50Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   32,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)",
												Start: ast.Position{
													Column: 12,
													Line:   32,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   32,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 12,
														Line:   32,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 82,
											Line:   33,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"guild\")",
										Start: ast.Position{
											Column: 14,
											Line:   31,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 81,
													Line:   33,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "fn: (r) => r._measurement == \"command\" and r._field == \"guild\"",
												Start: ast.Position{
													Column: 19,
													Line:   33,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   33,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "fn: (r) => r._measurement == \"command\" and r._field == \"guild\"",
													Start: ast.Position{
														Column: 19,
														Line:   33,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   33,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   33,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 81,
															Line:   33,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "(r) => r._measurement == \"command\" and r._field == \"guild\"",
														Start: ast.Position{
															Column: 23,
															Line:   33,
														},
													},
												},
												Body: &ast.LogicalExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 81,
																Line:   33,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "r._measurement == \"command\" and r._field == \"guild\"",
															Start: ast.Position{
																Column: 30,
																Line:   33,
															},
														},
													},
													Left: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 57,
																	Line:   33,
																},
																File:   "join_two_same_sources_test.flux",
																Source: "r._measurement == \"command\"",
																Start: ast.Position{
																	Column: 30,
																	Line:   33,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 44,
																		Line:   33,
																	},
																	File:   "join_two_same_sources_test.flux",
																	Source: "r._measurement",
																	Start: ast.Position{
																		Column: 30,
																		Line:   33,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 31,
																			Line:   33,
																		},
																		File:   "join_two_same_sources_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 30,
																			Line:   33,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 44,
																			Line:   33,
																		},
																		File:   "join_two_same_sources_test.flux",
																		Source: "_measurement",
																		Start: ast.Position{
																			Column: 32,
																			Line:   33,
																		},
																	},
																},
																Name: "_measurement",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 57,
																		Line:   33,
																	},
																	File:   "join_two_same_sources_test.flux",
																	Source: "\"command\"",
																	Start: ast.Position{
																		Column: 48,
																		Line:   33,
																	},
																},
															},
															Value: "command",
														},
													},
													Operator: 1,
													Right: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 81,
																	Line:   33,
																},
																File:   "join_two_same_sources_test.flux",
																Source: "r._field == \"guild\"",
																Start: ast.Position{
																	Column: 62,
																	Line:   33,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 70,
																		Line:   33,
																	},
																	File:   "join_two_same_sources_test.flux",
																	Source: "r._field",
																	Start: ast.Position{
																		Column: 62,
																		Line:   33,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 63,
																			Line:   33,
																		},
																		File:   "join_two_same_sources_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 62,
																			Line:   33,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 70,
																			Line:   33,
																		},
																		File:   "join_two_same_sources_test.flux",
																		Source: "_field",
																		Start: ast.Position{
																			Column: 64,
																			Line:   33,
																		},
																	},
																},
																Name: "_field",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 81,
																		Line:   33,
																	},
																	File:   "join_two_same_sources_test.flux",
																	Source: "\"guild\"",
																	Start: ast.Position{
																		Column: 74,
																		Line:   33,
																	},
																},
															},
															Value: "guild",
														},
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   33,
															},
															File:   "join_two_same_sources_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   33,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   33,
																},
																File:   "join_two_same_sources_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   33,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   33,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "filter(fn: (r) => r._measurement == \"command\" and r._field == \"guild\")",
											Start: ast.Position{
												Column: 12,
												Line:   33,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   33,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   33,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 68,
										Line:   34,
									},
									File:   "join_two_same_sources_test.flux",
									Source: "table\n        |> range(start: 2018-12-19T22:13:30Z, stop: 2018-12-19T22:13:50Z)\n        |> filter(fn: (r) => r._measurement == \"command\" and r._field == \"guild\")\n        |> aggregateWindow(every: 1s, fn: last, createEmpty: false)",
									Start: ast.Position{
										Column: 14,
										Line:   31,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   34,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "every: 1s, fn: last, createEmpty: false",
											Start: ast.Position{
												Column: 28,
												Line:   34,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   34,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "every: 1s",
												Start: ast.Position{
													Column: 28,
													Line:   34,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 33,
														Line:   34,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "every",
													Start: ast.Position{
														Column: 28,
														Line:   34,
													},
												},
											},
											Name: "every",
										},
										Separator: nil,
										Value: &ast.DurationLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   34,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "1s",
													Start: ast.Position{
														Column: 35,
														Line:   34,
													},
												},
											},
											Values: []ast.Duration{ast.Duration{
												Magnitude: int64(1),
												Unit:      "s",
											}},
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   34,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "fn: last",
												Start: ast.Position{
													Column: 39,
													Line:   34,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   34,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 39,
														Line:   34,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   34,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "last",
													Start: ast.Position{
														Column: 43,
														Line:   34,
													},
												},
											},
											Name: "last",
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   34,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "createEmpty: false",
												Start: ast.Position{
													Column: 49,
													Line:   34,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   34,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "createEmpty",
													Start: ast.Position{
														Column: 49,
														Line:   34,
													},
												},
											},
											Name: "createEmpty",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   34,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "false",
													Start: ast.Position{
														Column: 62,
														Line:   34,
													},
												},
											},
											Name: "false",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   34,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "aggregateWindow(every: 1s, fn: last, createEmpty: false)",
										Start: ast.Position{
											Column: 12,
											Line:   34,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   34,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "aggregateWindow",
											Start: ast.Position{
												Column: 12,
												Line:   34,
											},
										},
									},
									Name: "aggregateWindow",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 64,
											Line:   36,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "tables: {d1: data_1, d2: data_2}, on: [\"_time\"]",
										Start: ast.Position{
											Column: 17,
											Line:   36,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   36,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "tables: {d1: data_1, d2: data_2}",
											Start: ast.Position{
												Column: 17,
												Line:   36,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 23,
													Line:   36,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "tables",
												Start: ast.Position{
													Column: 17,
													Line:   36,
												},
											},
										},
										Name: "tables",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   36,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "{d1: data_1, d2: data_2}",
												Start: ast.Position{
													Column: 25,
													Line:   36,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   36,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "d1: data_1",
													Start: ast.Position{
														Column: 26,
														Line:   36,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   36,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "d1",
														Start: ast.Position{
															Column: 26,
															Line:   36,
														},
													},
												},
												Name: "d1",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 36,
															Line:   36,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "data_1",
														Start: ast.Position{
															Column: 30,
															Line:   36,
														},
													},
												},
												Name: "data_1",
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   36,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "d2: data_2",
													Start: ast.Position{
														Column: 38,
														Line:   36,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 40,
															Line:   36,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "d2",
														Start: ast.Position{
															Column: 38,
															Line:   36,
														},
													},
												},
												Name: "d2",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   36,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "data_2",
														Start: ast.Position{
															Column: 42,
															Line:   36,
														},
													},
												},
												Name: "data_2",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 64,
												Line:   36,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "on: [\"_time\"]",
											Start: ast.Position{
												Column: 51,
												Line:   36,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   36,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "on",
												Start: ast.Position{
													Column: 51,
													Line:   36,
												},
											},
										},
										Name: "on",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   36,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "[\"_time\"]",
												Start: ast.Position{
													Column: 55,
													Line:   36,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   36,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 56,
														Line:   36,
													},
												},
											},
											Value: "_time",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 65,
										Line:   36,
									},
									File:   "join_two_same_sources_test.flux",
									Source: "join(tables: {d1: data_1, d2: data_2}, on: [\"_time\"])",
									Start: ast.Position{
										Column: 12,
										Line:   36,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   36,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "join",
										Start: ast.Position{
											Column: 12,
											Line:   36,
										},
									},
								},
								Name: "join",
							},
							Lparen: nil,
							Rparen: nil,
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 65,
									Line:   36,
								},
								File:   "join_two_same_sources_test.flux",
								Source: "return join(tables: {d1: data_1, d2: data_2}, on: [\"_time\"])",
								Start: ast.Position{
									Column: 5,
									Line:   36,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   26,
							},
							File:   "join_two_same_sources_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 28,
								Line:   26,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   26,
								},
								File:   "join_two_same_sources_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 28,
									Line:   26,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   26,
							},
							File:   "join_two_same_sources_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 34,
								Line:   26,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 125,
							Line:   39,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "_join_two_same_sources = () => ({input: get_input(), want: testing.loadMem(csv: outData), fn: t_join_two_same_sources})",
						Start: ast.Position{
							Column: 6,
							Line:   39,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   39,
							},
							File:   "join_two_same_sources_test.flux",
							Source: "_join_two_same_sources",
							Start: ast.Position{
								Column: 6,
								Line:   39,
							},
						},
					},
					Name: "_join_two_same_sources",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 125,
								Line:   39,
							},
							File:   "join_two_same_sources_test.flux",
							Source: "() => ({input: get_input(), want: testing.loadMem(csv: outData), fn: t_join_two_same_sources})",
							Start: ast.Position{
								Column: 31,
								Line:   39,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 125,
									Line:   39,
								},
								File:   "join_two_same_sources_test.flux",
								Source: "({input: get_input(), want: testing.loadMem(csv: outData), fn: t_join_two_same_sources})",
								Start: ast.Position{
									Column: 37,
									Line:   39,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 124,
										Line:   39,
									},
									File:   "join_two_same_sources_test.flux",
									Source: "{input: get_input(), want: testing.loadMem(csv: outData), fn: t_join_two_same_sources}",
									Start: ast.Position{
										Column: 38,
										Line:   39,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 57,
											Line:   39,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "input: get_input()",
										Start: ast.Position{
											Column: 39,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   39,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 39,
												Line:   39,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 57,
												Line:   39,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "get_input()",
											Start: ast.Position{
												Column: 46,
												Line:   39,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   39,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "get_input",
												Start: ast.Position{
													Column: 46,
													Line:   39,
												},
											},
										},
										Name: "get_input",
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 94,
											Line:   39,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 59,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   39,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 59,
												Line:   39,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   39,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 81,
													Line:   39,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   39,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 81,
														Line:   39,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 84,
															Line:   39,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 81,
															Line:   39,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 93,
															Line:   39,
														},
														File:   "join_two_same_sources_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 86,
															Line:   39,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 94,
												Line:   39,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 65,
												Line:   39,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 80,
													Line:   39,
												},
												File:   "join_two_same_sources_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 65,
													Line:   39,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 72,
														Line:   39,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 65,
														Line:   39,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   39,
													},
													File:   "join_two_same_sources_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 73,
														Line:   39,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 123,
											Line:   39,
										},
										File:   "join_two_same_sources_test.flux",
										Source: "fn: t_join_two_same_sources",
										Start: ast.Position{
											Column: 96,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   39,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 96,
												Line:   39,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   39,
											},
											File:   "join_two_same_sources_test.flux",
											Source: "t_join_two_same_sources",
											Start: ast.Position{
												Column: 100,
												Line:   39,
											},
										},
									},
									Name: "t_join_two_same_sources",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 125,
						Line:   39,
					},
					File:   "join_two_same_sources_test.flux",
					Source: "test _join_two_same_sources = () => ({input: get_input(), want: testing.loadMem(csv: outData), fn: t_join_two_same_sources})",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "join_two_same_sources_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   5,
					},
					File:   "join_two_same_sources_test.flux",
					Source: "import \"array\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   5,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "\"array\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "array",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "join_two_same_sources_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "join_two_same_sources_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "join_two_same_sources_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 148,
					Line:   65,
				},
				File:   "join_use_previous_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2020-05-15T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,true,true,true,true,true\n#default,,,,,,\n,result,table,_time,value,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,1,a,a\n,_result,0,2020-05-14T17:40:00Z,2,a,a\n,_result,0,2020-05-14T17:41:00Z,3,a,a\n,_result,0,2020-05-14T17:42:00Z,4,a,a\n,_result,0,2020-05-14T17:43:00Z,5,a,a\n,_result,0,2020-05-14T17:44:00Z,6,a,a\n,_result,0,2020-05-14T17:45:00Z,,a,a\n,_result,0,2020-05-14T17:46:00Z,7,a,a\n,_result,0,2020-05-14T17:47:00Z,,a,a\n,_result,0,2020-05-14T17:48:00Z,8,a,a\n,_result,0,2020-05-14T17:49:00Z,9,a,a\n,_result,0,2020-05-14T17:50:00Z,10,a,a\n\n#datatype,string,long,dateTime:RFC3339,boolean,string,string\n#group,false,true,true,true,true,true\n#default,,,,,,\n,result,table,_time,flag,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,false,a,a\n,_result,0,2020-05-14T17:40:00Z,,a,a\n,_result,0,2020-05-14T17:41:00Z,,a,a\n,_result,0,2020-05-14T17:42:00Z,,a,a\n,_result,0,2020-05-14T17:43:00Z,,a,a\n,_result,0,2020-05-14T17:44:00Z,,a,a\n,_result,0,2020-05-14T17:45:00Z,true,a,a\n,_result,0,2020-05-14T17:46:00Z,false,a,a\n,_result,0,2020-05-14T17:47:00Z,true,a,a\n,_result,0,2020-05-14T17:48:00Z,false,a,a\n,_result,0,2020-05-14T17:49:00Z,,a,a\n,_result,0,2020-05-14T17:50:00Z,,a,a\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,boolean,double,string,string\n#group,false,false,false,false,false,false,false\n#default,_result,,,,,,\n,result,table,_time,flag,value,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,false,1,a,a\n,_result,0,2020-05-14T17:46:00Z,false,7,a,a\n,_result,0,2020-05-14T17:48:00Z,false,8,a,a\n\"\nt_join_use_previous_test = (tables=<-) => {\n    lhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.value)\n        |> drop(columns: [\"_start\", \"_stop\"])\n    rhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.flag)\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return join(tables: {left: lhs, right: rhs}, on: [\"_time\", \"_field\", \"_measurement\"], method: \"inner\") |> group(columns: []) |> fill(column: \"flag\", usePrevious: true)\n}\n\ntest _join_use_previous_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_use_previous_test})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "join_use_previous_test.flux",
						Source: "now = () => 2020-05-15T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "join_use_previous_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "join_use_previous_test.flux",
							Source: "() => 2020-05-15T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "join_use_previous_test.flux",
								Source: "2020-05-15T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2020-05-15T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "join_use_previous_test.flux",
					Source: "option now = () => 2020-05-15T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   42,
					},
					File:   "join_use_previous_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,true,true,true,true,true\n#default,,,,,,\n,result,table,_time,value,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,1,a,a\n,_result,0,2020-05-14T17:40:00Z,2,a,a\n,_result,0,2020-05-14T17:41:00Z,3,a,a\n,_result,0,2020-05-14T17:42:00Z,4,a,a\n,_result,0,2020-05-14T17:43:00Z,5,a,a\n,_result,0,2020-05-14T17:44:00Z,6,a,a\n,_result,0,2020-05-14T17:45:00Z,,a,a\n,_result,0,2020-05-14T17:46:00Z,7,a,a\n,_result,0,2020-05-14T17:47:00Z,,a,a\n,_result,0,2020-05-14T17:48:00Z,8,a,a\n,_result,0,2020-05-14T17:49:00Z,9,a,a\n,_result,0,2020-05-14T17:50:00Z,10,a,a\n\n#datatype,string,long,dateTime:RFC3339,boolean,string,string\n#group,false,true,true,true,true,true\n#default,,,,,,\n,result,table,_time,flag,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,false,a,a\n,_result,0,2020-05-14T17:40:00Z,,a,a\n,_result,0,2020-05-14T17:41:00Z,,a,a\n,_result,0,2020-05-14T17:42:00Z,,a,a\n,_result,0,2020-05-14T17:43:00Z,,a,a\n,_result,0,2020-05-14T17:44:00Z,,a,a\n,_result,0,2020-05-14T17:45:00Z,true,a,a\n,_result,0,2020-05-14T17:46:00Z,false,a,a\n,_result,0,2020-05-14T17:47:00Z,true,a,a\n,_result,0,2020-05-14T17:48:00Z,false,a,a\n,_result,0,2020-05-14T17:49:00Z,,a,a\n,_result,0,2020-05-14T17:50:00Z,,a,a\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "join_use_previous_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   42,
						},
						File:   "join_use_previous_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,true,true,true,true,true\n#default,,,,,,\n,result,table,_time,value,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,1,a,a\n,_result,0,2020-05-14T17:40:00Z,2,a,a\n,_result,0,2020-05-14T17:41:00Z,3,a,a\n,_result,0,2020-05-14T17:42:00Z,4,a,a\n,_result,0,2020-05-14T17:43:00Z,5,a,a\n,_result,0,2020-05-14T17:44:00Z,6,a,a\n,_result,0,2020-05-14T17:45:00Z,,a,a\n,_result,0,2020-05-14T17:46:00Z,7,a,a\n,_result,0,2020-05-14T17:47:00Z,,a,a\n,_result,0,2020-05-14T17:48:00Z,8,a,a\n,_result,0,2020-05-14T17:49:00Z,9,a,a\n,_result,0,2020-05-14T17:50:00Z,10,a,a\n\n#datatype,string,long,dateTime:RFC3339,boolean,string,string\n#group,false,true,true,true,true,true\n#default,,,,,,\n,result,table,_time,flag,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,false,a,a\n,_result,0,2020-05-14T17:40:00Z,,a,a\n,_result,0,2020-05-14T17:41:00Z,,a,a\n,_result,0,2020-05-14T17:42:00Z,,a,a\n,_result,0,2020-05-14T17:43:00Z,,a,a\n,_result,0,2020-05-14T17:44:00Z,,a,a\n,_result,0,2020-05-14T17:45:00Z,true,a,a\n,_result,0,2020-05-14T17:46:00Z,false,a,a\n,_result,0,2020-05-14T17:47:00Z,true,a,a\n,_result,0,2020-05-14T17:48:00Z,false,a,a\n,_result,0,2020-05-14T17:49:00Z,,a,a\n,_result,0,2020-05-14T17:50:00Z,,a,a\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,true,true,true,true,true\n#default,,,,,,\n,result,table,_time,value,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,1,a,a\n,_result,0,2020-05-14T17:40:00Z,2,a,a\n,_result,0,2020-05-14T17:41:00Z,3,a,a\n,_result,0,2020-05-14T17:42:00Z,4,a,a\n,_result,0,2020-05-14T17:43:00Z,5,a,a\n,_result,0,2020-05-14T17:44:00Z,6,a,a\n,_result,0,2020-05-14T17:45:00Z,,a,a\n,_result,0,2020-05-14T17:46:00Z,7,a,a\n,_result,0,2020-05-14T17:47:00Z,,a,a\n,_result,0,2020-05-14T17:48:00Z,8,a,a\n,_result,0,2020-05-14T17:49:00Z,9,a,a\n,_result,0,2020-05-14T17:50:00Z,10,a,a\n\n#datatype,string,long,dateTime:RFC3339,boolean,string,string\n#group,false,true,true,true,true,true\n#default,,,,,,\n,result,table,_time,flag,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,false,a,a\n,_result,0,2020-05-14T17:40:00Z,,a,a\n,_result,0,2020-05-14T17:41:00Z,,a,a\n,_result,0,2020-05-14T17:42:00Z,,a,a\n,_result,0,2020-05-14T17:43:00Z,,a,a\n,_result,0,2020-05-14T17:44:00Z,,a,a\n,_result,0,2020-05-14T17:45:00Z,true,a,a\n,_result,0,2020-05-14T17:46:00Z,false,a,a\n,_result,0,2020-05-14T17:47:00Z,true,a,a\n,_result,0,2020-05-14T17:48:00Z,false,a,a\n,_result,0,2020-05-14T17:49:00Z,,a,a\n,_result,0,2020-05-14T17:50:00Z,,a,a\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   51,
					},
					File:   "join_use_previous_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,boolean,double,string,string\n#group,false,false,false,false,false,false,false\n#default,_result,,,,,,\n,result,table,_time,flag,value,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,false,1,a,a\n,_result,0,2020-05-14T17:46:00Z,false,7,a,a\n,_result,0,2020-05-14T17:48:00Z,false,8,a,a\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   43,
						},
						File:   "join_use_previous_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   43,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   51,
						},
						File:   "join_use_previous_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,boolean,double,string,string\n#group,false,false,false,false,false,false,false\n#default,_result,,,,,,\n,result,table,_time,flag,value,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,false,1,a,a\n,_result,0,2020-05-14T17:46:00Z,false,7,a,a\n,_result,0,2020-05-14T17:48:00Z,false,8,a,a\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   43,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,boolean,double,string,string\n#group,false,false,false,false,false,false,false\n#default,_result,,,,,,\n,result,table,_time,flag,value,_field,_measurement\n,_result,0,2020-05-14T17:23:00Z,false,1,a,a\n,_result,0,2020-05-14T17:46:00Z,false,7,a,a\n,_result,0,2020-05-14T17:48:00Z,false,8,a,a\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   63,
					},
					File:   "join_use_previous_test.flux",
					Source: "t_join_use_previous_test = (tables=<-) => {\n    lhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.value)\n        |> drop(columns: [\"_start\", \"_stop\"])\n    rhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.flag)\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return join(tables: {left: lhs, right: rhs}, on: [\"_time\", \"_field\", \"_measurement\"], method: \"inner\") |> group(columns: []) |> fill(column: \"flag\", usePrevious: true)\n}",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   52,
						},
						File:   "join_use_previous_test.flux",
						Source: "t_join_use_previous_test",
						Start: ast.Position{
							Column: 1,
							Line:   52,
						},
					},
				},
				Name: "t_join_use_previous_test",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   63,
						},
						File:   "join_use_previous_test.flux",
						Source: "(tables=<-) => {\n    lhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.value)\n        |> drop(columns: [\"_start\", \"_stop\"])\n    rhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.flag)\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return join(tables: {left: lhs, right: rhs}, on: [\"_time\", \"_field\", \"_measurement\"], method: \"inner\") |> group(columns: []) |> fill(column: \"flag\", usePrevious: true)\n}",
						Start: ast.Position{
							Column: 28,
							Line:   52,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   63,
							},
							File:   "join_use_previous_test.flux",
							Source: "{\n    lhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.value)\n        |> drop(columns: [\"_start\", \"_stop\"])\n    rhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.flag)\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return join(tables: {left: lhs, right: rhs}, on: [\"_time\", \"_field\", \"_measurement\"], method: \"inner\") |> group(columns: []) |> fill(column: \"flag\", usePrevious: true)\n}",
							Start: ast.Position{
								Column: 43,
								Line:   52,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   56,
								},
								File:   "join_use_previous_test.flux",
								Source: "lhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.value)\n        |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 5,
									Line:   53,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 8,
										Line:   53,
									},
									File:   "join_use_previous_test.flux",
									Source: "lhs",
									Start: ast.Position{
										Column: 5,
										Line:   53,
									},
								},
							},
							Name: "lhs",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   53,
												},
												File:   "join_use_previous_test.flux",
												Source: "tables",
												Start: ast.Position{
													Column: 11,
													Line:   53,
												},
											},
										},
										Name: "tables",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   54,
											},
											File:   "join_use_previous_test.flux",
											Source: "tables\n        |> range(start: 2020-05-01T00:00:00Z)",
											Start: ast.Position{
												Column: 11,
												Line:   53,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   54,
													},
													File:   "join_use_previous_test.flux",
													Source: "start: 2020-05-01T00:00:00Z",
													Start: ast.Position{
														Column: 18,
														Line:   54,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   54,
														},
														File:   "join_use_previous_test.flux",
														Source: "start: 2020-05-01T00:00:00Z",
														Start: ast.Position{
															Column: 18,
															Line:   54,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 23,
																Line:   54,
															},
															File:   "join_use_previous_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 18,
																Line:   54,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   54,
															},
															File:   "join_use_previous_test.flux",
															Source: "2020-05-01T00:00:00Z",
															Start: ast.Position{
																Column: 25,
																Line:   54,
															},
														},
													},
													Value: parser.MustParseTime("2020-05-01T00:00:00Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   54,
												},
												File:   "join_use_previous_test.flux",
												Source: "range(start: 2020-05-01T00:00:00Z)",
												Start: ast.Position{
													Column: 12,
													Line:   54,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   54,
													},
													File:   "join_use_previous_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 12,
														Line:   54,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   55,
										},
										File:   "join_use_previous_test.flux",
										Source: "tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.value)",
										Start: ast.Position{
											Column: 11,
											Line:   53,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   55,
												},
												File:   "join_use_previous_test.flux",
												Source: "fn: (r) => exists r.value",
												Start: ast.Position{
													Column: 19,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   55,
													},
													File:   "join_use_previous_test.flux",
													Source: "fn: (r) => exists r.value",
													Start: ast.Position{
														Column: 19,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   55,
														},
														File:   "join_use_previous_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   55,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   55,
														},
														File:   "join_use_previous_test.flux",
														Source: "(r) => exists r.value",
														Start: ast.Position{
															Column: 23,
															Line:   55,
														},
													},
												},
												Body: &ast.UnaryExpression{
													Argument: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   55,
																},
																File:   "join_use_previous_test.flux",
																Source: "r.value",
																Start: ast.Position{
																	Column: 37,
																	Line:   55,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 38,
																		Line:   55,
																	},
																	File:   "join_use_previous_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 37,
																		Line:   55,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 44,
																		Line:   55,
																	},
																	File:   "join_use_previous_test.flux",
																	Source: "value",
																	Start: ast.Position{
																		Column: 39,
																		Line:   55,
																	},
																},
															},
															Name: "value",
														},
														Rbrack: nil,
													},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 44,
																Line:   55,
															},
															File:   "join_use_previous_test.flux",
															Source: "exists r.value",
															Start: ast.Position{
																Column: 30,
																Line:   55,
															},
														},
													},
													Operator: 14,
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   55,
															},
															File:   "join_use_previous_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   55,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   55,
																},
																File:   "join_use_previous_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   55,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   55,
											},
											File:   "join_use_previous_test.flux",
											Source: "filter(fn: (r) => exists r.value)",
											Start: ast.Position{
												Column: 12,
												Line:   55,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   55,
												},
												File:   "join_use_previous_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   55,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   56,
									},
									File:   "join_use_previous_test.flux",
									Source: "tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.value)\n        |> drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 11,
										Line:   53,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   56,
											},
											File:   "join_use_previous_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 17,
												Line:   56,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   56,
												},
												File:   "join_use_previous_test.flux",
												Source: "columns: [\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 17,
													Line:   56,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   56,
													},
													File:   "join_use_previous_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 17,
														Line:   56,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   56,
													},
													File:   "join_use_previous_test.flux",
													Source: "[\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 26,
														Line:   56,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   56,
														},
														File:   "join_use_previous_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 27,
															Line:   56,
														},
													},
												},
												Value: "_start",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   56,
														},
														File:   "join_use_previous_test.flux",
														Source: "\"_stop\"",
														Start: ast.Position{
															Column: 37,
															Line:   56,
														},
													},
												},
												Value: "_stop",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   56,
										},
										File:   "join_use_previous_test.flux",
										Source: "drop(columns: [\"_start\", \"_stop\"])",
										Start: ast.Position{
											Column: 12,
											Line:   56,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   56,
											},
											File:   "join_use_previous_test.flux",
											Source: "drop",
											Start: ast.Position{
												Column: 12,
												Line:   56,
											},
										},
									},
									Name: "drop",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   60,
								},
								File:   "join_use_previous_test.flux",
								Source: "rhs = tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.flag)\n        |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 5,
									Line:   57,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 8,
										Line:   57,
									},
									File:   "join_use_previous_test.flux",
									Source: "rhs",
									Start: ast.Position{
										Column: 5,
										Line:   57,
									},
								},
							},
							Name: "rhs",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   57,
												},
												File:   "join_use_previous_test.flux",
												Source: "tables",
												Start: ast.Position{
													Column: 11,
													Line:   57,
												},
											},
										},
										Name: "tables",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   58,
											},
											File:   "join_use_previous_test.flux",
											Source: "tables\n        |> range(start: 2020-05-01T00:00:00Z)",
											Start: ast.Position{
												Column: 11,
												Line:   57,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   58,
													},
													File:   "join_use_previous_test.flux",
													Source: "start: 2020-05-01T00:00:00Z",
													Start: ast.Position{
														Column: 18,
														Line:   58,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   58,
														},
														File:   "join_use_previous_test.flux",
														Source: "start: 2020-05-01T00:00:00Z",
														Start: ast.Position{
															Column: 18,
															Line:   58,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 23,
																Line:   58,
															},
															File:   "join_use_previous_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 18,
																Line:   58,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   58,
															},
															File:   "join_use_previous_test.flux",
															Source: "2020-05-01T00:00:00Z",
															Start: ast.Position{
																Column: 25,
																Line:   58,
															},
														},
													},
													Value: parser.MustParseTime("2020-05-01T00:00:00Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   58,
												},
												File:   "join_use_previous_test.flux",
												Source: "range(start: 2020-05-01T00:00:00Z)",
												Start: ast.Position{
													Column: 12,
													Line:   58,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   58,
													},
													File:   "join_use_previous_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 12,
														Line:   58,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   59,
										},
										File:   "join_use_previous_test.flux",
										Source: "tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.flag)",
										Start: ast.Position{
											Column: 11,
											Line:   57,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   59,
												},
												File:   "join_use_previous_test.flux",
												Source: "fn: (r) => exists r.flag",
												Start: ast.Position{
													Column: 19,
													Line:   59,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   59,
													},
													File:   "join_use_previous_test.flux",
													Source: "fn: (r) => exists r.flag",
													Start: ast.Position{
														Column: 19,
														Line:   59,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   59,
														},
														File:   "join_use_previous_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   59,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   59,
														},
														File:   "join_use_previous_test.flux",
														Source: "(r) => exists r.flag",
														Start: ast.Position{
															Column: 23,
															Line:   59,
														},
													},
												},
												Body: &ast.UnaryExpression{
													Argument: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 43,
																	Line:   59,
																},
																File:   "join_use_previous_test.flux",
																Source: "r.flag",
																Start: ast.Position{
																	Column: 37,
																	Line:   59,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 38,
																		Line:   59,
																	},
																	File:   "join_use_previous_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 37,
																		Line:   59,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 43,
																		Line:   59,
																	},
																	File:   "join_use_previous_test.flux",
																	Source: "flag",
																	Start: ast.Position{
																		Column: 39,
																		Line:   59,
																	},
																},
															},
															Name: "flag",
														},
														Rbrack: nil,
													},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 43,
																Line:   59,
															},
															File:   "join_use_previous_test.flux",
															Source: "exists r.flag",
															Start: ast.Position{
																Column: 30,
																Line:   59,
															},
														},
													},
													Operator: 14,
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   59,
															},
															File:   "join_use_previous_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   59,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   59,
																},
																File:   "join_use_previous_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   59,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   59,
											},
											File:   "join_use_previous_test.flux",
											Source: "filter(fn: (r) => exists r.flag)",
											Start: ast.Position{
												Column: 12,
												Line:   59,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   59,
												},
												File:   "join_use_previous_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   59,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   60,
									},
									File:   "join_use_previous_test.flux",
									Source: "tables\n        |> range(start: 2020-05-01T00:00:00Z)\n        |> filter(fn: (r) => exists r.flag)\n        |> drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 11,
										Line:   57,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   60,
											},
											File:   "join_use_previous_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 17,
												Line:   60,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   60,
												},
												File:   "join_use_previous_test.flux",
												Source: "columns: [\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 17,
													Line:   60,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   60,
													},
													File:   "join_use_previous_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 17,
														Line:   60,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   60,
													},
													File:   "join_use_previous_test.flux",
													Source: "[\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 26,
														Line:   60,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   60,
														},
														File:   "join_use_previous_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 27,
															Line:   60,
														},
													},
												},
												Value: "_start",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   60,
														},
														File:   "join_use_previous_test.flux",
														Source: "\"_stop\"",
														Start: ast.Position{
															Column: 37,
															Line:   60,
														},
													},
												},
												Value: "_stop",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   60,
										},
										File:   "join_use_previous_test.flux",
										Source: "drop(columns: [\"_start\", \"_stop\"])",
										Start: ast.Position{
											Column: 12,
											Line:   60,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   60,
											},
											File:   "join_use_previous_test.flux",
											Source: "drop",
											Start: ast.Position{
												Column: 12,
												Line:   60,
											},
										},
									},
									Name: "drop",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   62,
												},
												File:   "join_use_previous_test.flux",
												Source: "tables: {left: lhs, right: rhs}, on: [\"_time\", \"_field\", \"_measurement\"], method: \"inner\"",
												Start: ast.Position{
													Column: 17,
													Line:   62,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   62,
													},
													File:   "join_use_previous_test.flux",
													Source: "tables: {left: lhs, right: rhs}",
													Start: ast.Position{
														Column: 17,
														Line:   62,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 23,
															Line:   62,
														},
														File:   "join_use_previous_test.flux",
														Source: "tables",
														Start: ast.Position{
															Column: 17,
															Line:   62,
														},
													},
												},
												Name: "tables",
											},
											Separator: nil,
											Value: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   62,
														},
														File:   "join_use_previous_test.flux",
														Source: "{left: lhs, right: rhs}",
														Start: ast.Position{
															Column: 25,
															Line:   62,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 35,
																Line:   62,
															},
															File:   "join_use_previous_test.flux",
															Source: "left: lhs",
															Start: ast.Position{
																Column: 26,
																Line:   62,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 30,
																	Line:   62,
																},
																File:   "join_use_previous_test.flux",
																Source: "left",
																Start: ast.Position{
																	Column: 26,
																	Line:   62,
																},
															},
														},
														Name: "left",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   62,
																},
																File:   "join_use_previous_test.flux",
																Source: "lhs",
																Start: ast.Position{
																	Column: 32,
																	Line:   62,
																},
															},
														},
														Name: "lhs",
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   62,
															},
															File:   "join_use_previous_test.flux",
															Source: "right: rhs",
															Start: ast.Position{
																Column: 37,
																Line:   62,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 42,
																	Line:   62,
																},
																File:   "join_use_previous_test.flux",
																Source: "right",
																Start: ast.Position{
																	Column: 37,
																	Line:   62,
																},
															},
														},
														Name: "right",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   62,
																},
																File:   "join_use_previous_test.flux",
																Source: "rhs",
																Start: ast.Position{
																	Column: 44,
																	Line:   62,
																},
															},
														},
														Name: "rhs",
													},
												}},
												Rbrace: nil,
												With:   nil,
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   62,
													},
													File:   "join_use_previous_test.flux",
													Source: "on: [\"_time\", \"_field\", \"_measurement\"]",
													Start: ast.Position{
														Column: 50,
														Line:   62,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   62,
														},
														File:   "join_use_previous_test.flux",
														Source: "on",
														Start: ast.Position{
															Column: 50,
															Line:   62,
														},
													},
												},
												Name: "on",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   62,
														},
														File:   "join_use_previous_test.flux",
														Source: "[\"_time\", \"_field\", \"_measurement\"]",
														Start: ast.Position{
															Column: 54,
															Line:   62,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 62,
																Line:   62,
															},
															File:   "join_use_previous_test.flux",
															Source: "\"_time\"",
															Start: ast.Position{
																Column: 55,
																Line:   62,
															},
														},
													},
													Value: "_time",
												}, &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 72,
																Line:   62,
															},
															File:   "join_use_previous_test.flux",
															Source: "\"_field\"",
															Start: ast.Position{
																Column: 64,
																Line:   62,
															},
														},
													},
													Value: "_field",
												}, &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 88,
																Line:   62,
															},
															File:   "join_use_previous_test.flux",
															Source: "\"_measurement\"",
															Start: ast.Position{
																Column: 74,
																Line:   62,
															},
														},
													},
													Value: "_measurement",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   62,
													},
													File:   "join_use_previous_test.flux",
													Source: "method: \"inner\"",
													Start: ast.Position{
														Column: 91,
														Line:   62,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   62,
														},
														File:   "join_use_previous_test.flux",
														Source: "method",
														Start: ast.Position{
															Column: 91,
															Line:   62,
														},
													},
												},
												Name: "method",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   62,
														},
														File:   "join_use_previous_test.flux",
														Source: "\"inner\"",
														Start: ast.Position{
															Column: 99,
															Line:   62,
														},
													},
												},
												Value: "inner",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   62,
											},
											File:   "join_use_previous_test.flux",
											Source: "join(tables: {left: lhs, right: rhs}, on: [\"_time\", \"_field\", \"_measurement\"], method: \"inner\")",
											Start: ast.Position{
												Column: 12,
												Line:   62,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 16,
													Line:   62,
												},
												File:   "join_use_previous_test.flux",
												Source: "join",
												Start: ast.Position{
													Column: 12,
													Line:   62,
												},
											},
										},
										Name: "join",
									},
									Lparen: nil,
									Rparen: nil,
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 129,
											Line:   62,
										},
										File:   "join_use_previous_test.flux",
										Source: "join(tables: {left: lhs, right: rhs}, on: [\"_time\", \"_field\", \"_measurement\"], method: \"inner\") |> group(columns: [])",
										Start: ast.Position{
											Column: 12,
											Line:   62,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 128,
													Line:   62,
												},
												File:   "join_use_previous_test.flux",
												Source: "columns: []",
												Start: ast.Position{
													Column: 117,
													Line:   62,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 128,
														Line:   62,
													},
													File:   "join_use_previous_test.flux",
													Source: "columns: []",
													Start: ast.Position{
														Column: 117,
														Line:   62,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 124,
															Line:   62,
														},
														File:   "join_use_previous_test.flux",
														Source: "columns",
														Start: ast.Position{
															Column: 117,
															Line:   62,
														},
													},
												},
												Name: "columns",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 128,
															Line:   62,
														},
														File:   "join_use_previous_test.flux",
														Source: "[]",
														Start: ast.Position{
															Column: 126,
															Line:   62,
														},
													},
												},
												Elements: []ast.Expression{},
												Lbrack:   nil,
												Rbrack:   nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 129,
												Line:   62,
											},
											File:   "join_use_previous_test.flux",
											Source: "group(columns: [])",
											Start: ast.Position{
												Column: 111,
												Line:   62,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 116,
													Line:   62,
												},
												File:   "join_use_previous_test.flux",
												Source: "group",
												Start: ast.Position{
													Column: 111,
													Line:   62,
												},
											},
										},
										Name: "group",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 172,
										Line:   62,
									},
									File:   "join_use_previous_test.flux",
									Source: "join(tables: {left: lhs, right: rhs}, on: [\"_time\", \"_field\", \"_measurement\"], method: \"inner\") |> group(columns: []) |> fill(column: \"flag\", usePrevious: true)",
									Start: ast.Position{
										Column: 12,
										Line:   62,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 171,
												Line:   62,
											},
											File:   "join_use_previous_test.flux",
											Source: "column: \"flag\", usePrevious: true",
											Start: ast.Position{
												Column: 138,
												Line:   62,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 152,
													Line:   62,
												},
												File:   "join_use_previous_test.flux",
												Source: "column: \"flag\"",
												Start: ast.Position{
													Column: 138,
													Line:   62,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 144,
														Line:   62,
													},
													File:   "join_use_previous_test.flux",
													Source: "column",
													Start: ast.Position{
														Column: 138,
														Line:   62,
													},
												},
											},
											Name: "column",
										},
										Separator: nil,
										Value: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 152,
														Line:   62,
													},
													File:   "join_use_previous_test.flux",
													Source: "\"flag\"",
													Start: ast.Position{
														Column: 146,
														Line:   62,
													},
												},
											},
											Value: "flag",
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 171,
													Line:   62,
												},
												File:   "join_use_previous_test.flux",
												Source: "usePrevious: true",
												Start: ast.Position{
													Column: 154,
													Line:   62,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 165,
														Line:   62,
													},
													File:   "join_use_previous_test.flux",
													Source: "usePrevious",
													Start: ast.Position{
														Column: 154,
														Line:   62,
													},
												},
											},
											Name: "usePrevious",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 171,
														Line:   62,
													},
													File:   "join_use_previous_test.flux",
													Source: "true",
													Start: ast.Position{
														Column: 167,
														Line:   62,
													},
												},
											},
											Name: "true",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 172,
											Line:   62,
										},
										File:   "join_use_previous_test.flux",
										Source: "fill(column: \"flag\", usePrevious: true)",
										Start: ast.Position{
											Column: 133,
											Line:   62,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 137,
												Line:   62,
											},
											File:   "join_use_previous_test.flux",
											Source: "fill",
											Start: ast.Position{
												Column: 133,
												Line:   62,
											},
										},
									},
									Name: "fill",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 172,
									Line:   62,
								},
								File:   "join_use_previous_test.flux",
								Source: "return join(tables: {left: lhs, right: rhs}, on: [\"_time\", \"_field\", \"_measurement\"], method: \"inner\") |> group(columns: []) |> fill(column: \"flag\", usePrevious: true)",
								Start: ast.Position{
									Column: 5,
									Line:   62,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   52,
							},
							File:   "join_use_previous_test.flux",
							Source: "tables=<-",
							Start: ast.Position{
								Column: 29,
								Line:   52,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 35,
									Line:   52,
								},
								File:   "join_use_previous_test.flux",
								Source: "tables",
								Start: ast.Position{
									Column: 29,
									Line:   52,
								},
							},
						},
						Name: "tables",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   52,
							},
							File:   "join_use_previous_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 36,
								Line:   52,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 148,
							Line:   65,
						},
						File:   "join_use_previous_test.flux",
						Source: "_join_use_previous_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_use_previous_test})",
						Start: ast.Position{
							Column: 6,
							Line:   65,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   65,
							},
							File:   "join_use_previous_test.flux",
							Source: "_join_use_previous_test",
							Start: ast.Position{
								Column: 6,
								Line:   65,
							},
						},
					},
					Name: "_join_use_previous_test",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 148,
								Line:   65,
							},
							File:   "join_use_previous_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_use_previous_test})",
							Start: ast.Position{
								Column: 32,
								Line:   65,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 148,
									Line:   65,
								},
								File:   "join_use_previous_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_use_previous_test})",
								Start: ast.Position{
									Column: 38,
									Line:   65,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 147,
										Line:   65,
									},
									File:   "join_use_previous_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_use_previous_test}",
									Start: ast.Position{
										Column: 39,
										Line:   65,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 79,
											Line:   65,
										},
										File:   "join_use_previous_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 40,
											Line:   65,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   65,
											},
											File:   "join_use_previous_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 40,
												Line:   65,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   65,
												},
												File:   "join_use_previous_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 67,
													Line:   65,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   65,
													},
													File:   "join_use_previous_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 67,
														Line:   65,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   65,
														},
														File:   "join_use_previous_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 67,
															Line:   65,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 78,
															Line:   65,
														},
														File:   "join_use_previous_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 72,
															Line:   65,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   65,
											},
											File:   "join_use_previous_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 47,
												Line:   65,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   65,
												},
												File:   "join_use_previous_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 47,
													Line:   65,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   65,
													},
													File:   "join_use_previous_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 47,
														Line:   65,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   65,
													},
													File:   "join_use_previous_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 55,
														Line:   65,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   65,
										},
										File:   "join_use_previous_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 81,
											Line:   65,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 85,
												Line:   65,
											},
											File:   "join_use_previous_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 81,
												Line:   65,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 115,
													Line:   65,
												},
												File:   "join_use_previous_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 103,
													Line:   65,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 115,
														Line:   65,
													},
													File:   "join_use_previous_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 103,
														Line:   65,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   65,
														},
														File:   "join_use_previous_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 103,
															Line:   65,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 115,
															Line:   65,
														},
														File:   "join_use_previous_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 108,
															Line:   65,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   65,
											},
											File:   "join_use_previous_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 87,
												Line:   65,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   65,
												},
												File:   "join_use_previous_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 87,
													Line:   65,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   65,
													},
													File:   "join_use_previous_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 87,
														Line:   65,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   65,
													},
													File:   "join_use_previous_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 95,
														Line:   65,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 146,
											Line:   65,
										},
										File:   "join_use_previous_test.flux",
										Source: "fn: t_join_use_previous_test",
										Start: ast.Position{
											Column: 118,
											Line:   65,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   65,
											},
											File:   "join_use_previous_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 118,
												Line:   65,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 146,
												Line:   65,
											},
											File:   "join_use_previous_test.flux",
											Source: "t_join_use_previous_test",
											Start: ast.Position{
												Column: 122,
												Line:   65,
											},
										},
									},
									Name: "t_join_use_previous_test",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 148,
						Line:   65,
					},
					File:   "join_use_previous_test.flux",
					Source: "test _join_use_previous_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_join_use_previous_test})",
					Start: ast.Position{
						Column: 1,
						Line:   65,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "join_use_previous_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "join_use_previous_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "join_use_previous_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "join_use_previous_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "join_use_previous_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   73,
				},
				File:   "kama_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:01:40Z,10.444444444444445,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,11.135802469135802,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,11.964334705075446,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,12.869074836153025,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,13.81615268675168,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,13.871008014588556,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13.71308456353558,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,13.553331356741122,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,13.46599437575161,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,13.4515677602438,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,13.29930139347417,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,12.805116570729282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,11.752584300922965,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,10.036160535131101,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,7.797866963961722,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,6.109926091089845,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,4.727736717272135,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,3.515409287373408,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,2.3974496040963373,used_percent,disk,disk1s1,apfs,host.local,/\n\"\nkama = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansAMA(n: 10)\n\ntest _kama = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "kama_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "kama_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "kama_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "kama_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "kama_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   42,
					},
					File:   "kama_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "kama_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   42,
						},
						File:   "kama_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   67,
					},
					File:   "kama_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:01:40Z,10.444444444444445,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,11.135802469135802,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,11.964334705075446,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,12.869074836153025,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,13.81615268675168,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,13.871008014588556,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13.71308456353558,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,13.553331356741122,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,13.46599437575161,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,13.4515677602438,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,13.29930139347417,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,12.805116570729282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,11.752584300922965,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,10.036160535131101,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,7.797866963961722,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,6.109926091089845,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,4.727736717272135,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,3.515409287373408,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,2.3974496040963373,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   43,
						},
						File:   "kama_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   43,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   67,
						},
						File:   "kama_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:01:40Z,10.444444444444445,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,11.135802469135802,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,11.964334705075446,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,12.869074836153025,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,13.81615268675168,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,13.871008014588556,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13.71308456353558,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,13.553331356741122,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,13.46599437575161,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,13.4515677602438,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,13.29930139347417,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,12.805116570729282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,11.752584300922965,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,10.036160535131101,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,7.797866963961722,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,6.109926091089845,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,4.727736717272135,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,3.515409287373408,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,2.3974496040963373,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   43,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:01:40Z,10.444444444444445,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,11.135802469135802,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,11.964334705075446,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,12.869074836153025,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,13.81615268675168,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,13.871008014588556,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13.71308456353558,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,13.553331356741122,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,13.46599437575161,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,13.4515677602438,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,13.29930139347417,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,12.805116570729282,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,11.752584300922965,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,10.036160535131101,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,7.797866963961722,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,6.109926091089845,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,4.727736717272135,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,3.515409287373408,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,2.3974496040963373,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 26,
						Line:   71,
					},
					File:   "kama_test.flux",
					Source: "kama = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansAMA(n: 10)",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 5,
							Line:   68,
						},
						File:   "kama_test.flux",
						Source: "kama",
						Start: ast.Position{
							Column: 1,
							Line:   68,
						},
					},
				},
				Name: "kama",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 26,
							Line:   71,
						},
						File:   "kama_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansAMA(n: 10)",
						Start: ast.Position{
							Column: 8,
							Line:   68,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 27,
											Line:   68,
										},
										File:   "kama_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 22,
											Line:   68,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   69,
									},
									File:   "kama_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
									Start: ast.Position{
										Column: 22,
										Line:   68,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   69,
											},
											File:   "kama_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   69,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   69,
												},
												File:   "kama_test.flux",
												Source: "start: 2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   69,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   69,
													},
													File:   "kama_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   69,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   69,
													},
													File:   "kama_test.flux",
													Source: "2018-05-22T00:00:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   69,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   69,
										},
										File:   "kama_test.flux",
										Source: "range(start: 2018-05-22T00:00:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   69,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   69,
											},
											File:   "kama_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   69,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   70,
								},
								File:   "kama_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 22,
									Line:   68,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   70,
										},
										File:   "kama_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   70,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   70,
											},
											File:   "kama_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 13,
												Line:   70,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   70,
												},
												File:   "kama_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 13,
													Line:   70,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   70,
												},
												File:   "kama_test.flux",
												Source: "[\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 22,
													Line:   70,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   70,
													},
													File:   "kama_test.flux",
													Source: "\"_start\"",
													Start: ast.Position{
														Column: 23,
														Line:   70,
													},
												},
											},
											Value: "_start",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   70,
													},
													File:   "kama_test.flux",
													Source: "\"_stop\"",
													Start: ast.Position{
														Column: 33,
														Line:   70,
													},
												},
											},
											Value: "_stop",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   70,
									},
									File:   "kama_test.flux",
									Source: "drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 8,
										Line:   70,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   70,
										},
										File:   "kama_test.flux",
										Source: "drop",
										Start: ast.Position{
											Column: 8,
											Line:   70,
										},
									},
								},
								Name: "drop",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   71,
							},
							File:   "kama_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansAMA(n: 10)",
							Start: ast.Position{
								Column: 22,
								Line:   68,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   71,
									},
									File:   "kama_test.flux",
									Source: "n: 10",
									Start: ast.Position{
										Column: 20,
										Line:   71,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   71,
										},
										File:   "kama_test.flux",
										Source: "n: 10",
										Start: ast.Position{
											Column: 20,
											Line:   71,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   71,
											},
											File:   "kama_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 20,
												Line:   71,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   71,
											},
											File:   "kama_test.flux",
											Source: "10",
											Start: ast.Position{
												Column: 23,
												Line:   71,
											},
										},
									},
									Value: int64(10),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   71,
								},
								File:   "kama_test.flux",
								Source: "kaufmansAMA(n: 10)",
								Start: ast.Position{
									Column: 8,
									Line:   71,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 19,
										Line:   71,
									},
									File:   "kama_test.flux",
									Source: "kaufmansAMA",
									Start: ast.Position{
										Column: 8,
										Line:   71,
									},
								},
							},
							Name: "kaufmansAMA",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   68,
							},
							File:   "kama_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 9,
								Line:   68,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   68,
								},
								File:   "kama_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 9,
									Line:   68,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   68,
							},
							File:   "kama_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 15,
								Line:   68,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   73,
						},
						File:   "kama_test.flux",
						Source: "_kama = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
						Start: ast.Position{
							Column: 6,
							Line:   73,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   73,
							},
							File:   "kama_test.flux",
							Source: "_kama",
							Start: ast.Position{
								Column: 6,
								Line:   73,
							},
						},
					},
					Name: "_kama",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   73,
							},
							File:   "kama_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
							Start: ast.Position{
								Column: 14,
								Line:   73,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   73,
								},
								File:   "kama_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
								Start: ast.Position{
									Column: 20,
									Line:   73,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   73,
									},
									File:   "kama_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama}",
									Start: ast.Position{
										Column: 21,
										Line:   73,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   73,
										},
										File:   "kama_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   73,
											},
											File:   "kama_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   73,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   73,
												},
												File:   "kama_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   73,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   73,
													},
													File:   "kama_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   73,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   73,
														},
														File:   "kama_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   73,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   73,
														},
														File:   "kama_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   73,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   73,
											},
											File:   "kama_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   73,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   73,
												},
												File:   "kama_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   73,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   73,
													},
													File:   "kama_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   73,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   73,
													},
													File:   "kama_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   73,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   73,
										},
										File:   "kama_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   73,
											},
											File:   "kama_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   73,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   73,
												},
												File:   "kama_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   73,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   73,
													},
													File:   "kama_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   73,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   73,
														},
														File:   "kama_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   73,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   73,
														},
														File:   "kama_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   73,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   73,
											},
											File:   "kama_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   73,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   73,
												},
												File:   "kama_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   73,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   73,
													},
													File:   "kama_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   73,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   73,
													},
													File:   "kama_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   73,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   73,
										},
										File:   "kama_test.flux",
										Source: "fn: kama",
										Start: ast.Position{
											Column: 100,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   73,
											},
											File:   "kama_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   73,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   73,
											},
											File:   "kama_test.flux",
											Source: "kama",
											Start: ast.Position{
												Column: 104,
												Line:   73,
											},
										},
									},
									Name: "kama",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   73,
					},
					File:   "kama_test.flux",
					Source: "test _kama = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
					Start: ast.Position{
						Column: 1,
						Line:   73,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "kama_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "kama_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "kama_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "kama_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "kama_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   75,
				},
				File:   "kama_v2_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"math\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T00:00:00Z,110.46,used_percent,disk\n,,0,2018-05-22T00:00:10Z,109.80,used_percent,disk\n,,0,2018-05-22T00:00:20Z,110.17,used_percent,disk\n,,0,2018-05-22T00:00:30Z,109.82,used_percent,disk\n,,0,2018-05-22T00:00:40Z,110.15,used_percent,disk\n,,0,2018-05-22T00:00:50Z,109.31,used_percent,disk\n,,0,2018-05-22T00:01:00Z,109.05,used_percent,disk\n,,0,2018-05-22T00:01:10Z,107.94,used_percent,disk\n,,0,2018-05-22T00:01:20Z,107.76,used_percent,disk\n,,0,2018-05-22T00:01:30Z,109.24,used_percent,disk\n,,0,2018-05-22T00:01:40Z,109.40,used_percent,disk\n,,0,2018-05-22T00:01:50Z,108.50,used_percent,disk\n,,0,2018-05-22T00:02:00Z,107.96,used_percent,disk\n,,0,2018-05-22T00:02:10Z,108.55,used_percent,disk\n,,0,2018-05-22T00:02:20Z,108.85,used_percent,disk\n,,0,2018-05-22T00:02:30Z,110.44,used_percent,disk\n,,0,2018-05-22T00:02:40Z,109.89,used_percent,disk\n,,0,2018-05-22T00:02:50Z,110.70,used_percent,disk\n,,0,2018-05-22T00:03:00Z,110.79,used_percent,disk\n,,0,2018-05-22T00:03:10Z,110.22,used_percent,disk\n,,0,2018-05-22T00:03:20Z,110.00,used_percent,disk\n,,0,2018-05-22T00:03:30Z,109.27,used_percent,disk\n,,0,2018-05-22T00:03:40Z,106.69,used_percent,disk\n,,0,2018-05-22T00:03:50Z,107.07,used_percent,disk\n,,0,2018-05-22T00:04:00Z,107.92,used_percent,disk\n,,0,2018-05-22T00:04:10Z,107.95,used_percent,disk\n,,0,2018-05-22T00:04:20Z,107.70,used_percent,disk\n,,0,2018-05-22T00:04:30Z,107.97,used_percent,disk\n,,0,2018-05-22T00:04:40Z,106.09,used_percent,disk\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T00:01:40Z,109.24,used_percent,disk\n,,0,2018-05-22T00:01:50Z,109.22,used_percent,disk\n,,0,2018-05-22T00:02:00Z,109.12,used_percent,disk\n,,0,2018-05-22T00:02:10Z,109.10,used_percent,disk\n,,0,2018-05-22T00:02:20Z,109.09,used_percent,disk\n,,0,2018-05-22T00:02:30Z,109.12,used_percent,disk\n,,0,2018-05-22T00:02:40Z,109.14,used_percent,disk\n,,0,2018-05-22T00:02:50Z,109.28,used_percent,disk\n,,0,2018-05-22T00:03:00Z,109.44,used_percent,disk\n,,0,2018-05-22T00:03:10Z,109.46,used_percent,disk\n,,0,2018-05-22T00:03:20Z,109.47,used_percent,disk\n,,0,2018-05-22T00:03:30Z,109.46,used_percent,disk\n,,0,2018-05-22T00:03:40Z,109.39,used_percent,disk\n,,0,2018-05-22T00:03:50Z,109.32,used_percent,disk\n,,0,2018-05-22T00:04:00Z,109.29,used_percent,disk\n,,0,2018-05-22T00:04:10Z,109.18,used_percent,disk\n,,0,2018-05-22T00:04:20Z,109.08,used_percent,disk\n,,0,2018-05-22T00:04:30Z,108.95,used_percent,disk\n,,0,2018-05-22T00:04:40Z,108.42,used_percent,disk\n\"\nkama = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansAMA(n: 10)\n    |> map(fn: (r) => ({r with _value: math.round(x: r._value * 100.0) / 100.0}))\n\ntest _kama = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "kama_v2_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "kama_v2_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "kama_v2_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "kama_v2_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "kama_v2_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "kama_v2_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T00:00:00Z,110.46,used_percent,disk\n,,0,2018-05-22T00:00:10Z,109.80,used_percent,disk\n,,0,2018-05-22T00:00:20Z,110.17,used_percent,disk\n,,0,2018-05-22T00:00:30Z,109.82,used_percent,disk\n,,0,2018-05-22T00:00:40Z,110.15,used_percent,disk\n,,0,2018-05-22T00:00:50Z,109.31,used_percent,disk\n,,0,2018-05-22T00:01:00Z,109.05,used_percent,disk\n,,0,2018-05-22T00:01:10Z,107.94,used_percent,disk\n,,0,2018-05-22T00:01:20Z,107.76,used_percent,disk\n,,0,2018-05-22T00:01:30Z,109.24,used_percent,disk\n,,0,2018-05-22T00:01:40Z,109.40,used_percent,disk\n,,0,2018-05-22T00:01:50Z,108.50,used_percent,disk\n,,0,2018-05-22T00:02:00Z,107.96,used_percent,disk\n,,0,2018-05-22T00:02:10Z,108.55,used_percent,disk\n,,0,2018-05-22T00:02:20Z,108.85,used_percent,disk\n,,0,2018-05-22T00:02:30Z,110.44,used_percent,disk\n,,0,2018-05-22T00:02:40Z,109.89,used_percent,disk\n,,0,2018-05-22T00:02:50Z,110.70,used_percent,disk\n,,0,2018-05-22T00:03:00Z,110.79,used_percent,disk\n,,0,2018-05-22T00:03:10Z,110.22,used_percent,disk\n,,0,2018-05-22T00:03:20Z,110.00,used_percent,disk\n,,0,2018-05-22T00:03:30Z,109.27,used_percent,disk\n,,0,2018-05-22T00:03:40Z,106.69,used_percent,disk\n,,0,2018-05-22T00:03:50Z,107.07,used_percent,disk\n,,0,2018-05-22T00:04:00Z,107.92,used_percent,disk\n,,0,2018-05-22T00:04:10Z,107.95,used_percent,disk\n,,0,2018-05-22T00:04:20Z,107.70,used_percent,disk\n,,0,2018-05-22T00:04:30Z,107.97,used_percent,disk\n,,0,2018-05-22T00:04:40Z,106.09,used_percent,disk\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "kama_v2_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "kama_v2_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T00:00:00Z,110.46,used_percent,disk\n,,0,2018-05-22T00:00:10Z,109.80,used_percent,disk\n,,0,2018-05-22T00:00:20Z,110.17,used_percent,disk\n,,0,2018-05-22T00:00:30Z,109.82,used_percent,disk\n,,0,2018-05-22T00:00:40Z,110.15,used_percent,disk\n,,0,2018-05-22T00:00:50Z,109.31,used_percent,disk\n,,0,2018-05-22T00:01:00Z,109.05,used_percent,disk\n,,0,2018-05-22T00:01:10Z,107.94,used_percent,disk\n,,0,2018-05-22T00:01:20Z,107.76,used_percent,disk\n,,0,2018-05-22T00:01:30Z,109.24,used_percent,disk\n,,0,2018-05-22T00:01:40Z,109.40,used_percent,disk\n,,0,2018-05-22T00:01:50Z,108.50,used_percent,disk\n,,0,2018-05-22T00:02:00Z,107.96,used_percent,disk\n,,0,2018-05-22T00:02:10Z,108.55,used_percent,disk\n,,0,2018-05-22T00:02:20Z,108.85,used_percent,disk\n,,0,2018-05-22T00:02:30Z,110.44,used_percent,disk\n,,0,2018-05-22T00:02:40Z,109.89,used_percent,disk\n,,0,2018-05-22T00:02:50Z,110.70,used_percent,disk\n,,0,2018-05-22T00:03:00Z,110.79,used_percent,disk\n,,0,2018-05-22T00:03:10Z,110.22,used_percent,disk\n,,0,2018-05-22T00:03:20Z,110.00,used_percent,disk\n,,0,2018-05-22T00:03:30Z,109.27,used_percent,disk\n,,0,2018-05-22T00:03:40Z,106.69,used_percent,disk\n,,0,2018-05-22T00:03:50Z,107.07,used_percent,disk\n,,0,2018-05-22T00:04:00Z,107.92,used_percent,disk\n,,0,2018-05-22T00:04:10Z,107.95,used_percent,disk\n,,0,2018-05-22T00:04:20Z,107.70,used_percent,disk\n,,0,2018-05-22T00:04:30Z,107.97,used_percent,disk\n,,0,2018-05-22T00:04:40Z,106.09,used_percent,disk\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T00:00:00Z,110.46,used_percent,disk\n,,0,2018-05-22T00:00:10Z,109.80,used_percent,disk\n,,0,2018-05-22T00:00:20Z,110.17,used_percent,disk\n,,0,2018-05-22T00:00:30Z,109.82,used_percent,disk\n,,0,2018-05-22T00:00:40Z,110.15,used_percent,disk\n,,0,2018-05-22T00:00:50Z,109.31,used_percent,disk\n,,0,2018-05-22T00:01:00Z,109.05,used_percent,disk\n,,0,2018-05-22T00:01:10Z,107.94,used_percent,disk\n,,0,2018-05-22T00:01:20Z,107.76,used_percent,disk\n,,0,2018-05-22T00:01:30Z,109.24,used_percent,disk\n,,0,2018-05-22T00:01:40Z,109.40,used_percent,disk\n,,0,2018-05-22T00:01:50Z,108.50,used_percent,disk\n,,0,2018-05-22T00:02:00Z,107.96,used_percent,disk\n,,0,2018-05-22T00:02:10Z,108.55,used_percent,disk\n,,0,2018-05-22T00:02:20Z,108.85,used_percent,disk\n,,0,2018-05-22T00:02:30Z,110.44,used_percent,disk\n,,0,2018-05-22T00:02:40Z,109.89,used_percent,disk\n,,0,2018-05-22T00:02:50Z,110.70,used_percent,disk\n,,0,2018-05-22T00:03:00Z,110.79,used_percent,disk\n,,0,2018-05-22T00:03:10Z,110.22,used_percent,disk\n,,0,2018-05-22T00:03:20Z,110.00,used_percent,disk\n,,0,2018-05-22T00:03:30Z,109.27,used_percent,disk\n,,0,2018-05-22T00:03:40Z,106.69,used_percent,disk\n,,0,2018-05-22T00:03:50Z,107.07,used_percent,disk\n,,0,2018-05-22T00:04:00Z,107.92,used_percent,disk\n,,0,2018-05-22T00:04:10Z,107.95,used_percent,disk\n,,0,2018-05-22T00:04:20Z,107.70,used_percent,disk\n,,0,2018-05-22T00:04:30Z,107.97,used_percent,disk\n,,0,2018-05-22T00:04:40Z,106.09,used_percent,disk\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   68,
					},
					File:   "kama_v2_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T00:01:40Z,109.24,used_percent,disk\n,,0,2018-05-22T00:01:50Z,109.22,used_percent,disk\n,,0,2018-05-22T00:02:00Z,109.12,used_percent,disk\n,,0,2018-05-22T00:02:10Z,109.10,used_percent,disk\n,,0,2018-05-22T00:02:20Z,109.09,used_percent,disk\n,,0,2018-05-22T00:02:30Z,109.12,used_percent,disk\n,,0,2018-05-22T00:02:40Z,109.14,used_percent,disk\n,,0,2018-05-22T00:02:50Z,109.28,used_percent,disk\n,,0,2018-05-22T00:03:00Z,109.44,used_percent,disk\n,,0,2018-05-22T00:03:10Z,109.46,used_percent,disk\n,,0,2018-05-22T00:03:20Z,109.47,used_percent,disk\n,,0,2018-05-22T00:03:30Z,109.46,used_percent,disk\n,,0,2018-05-22T00:03:40Z,109.39,used_percent,disk\n,,0,2018-05-22T00:03:50Z,109.32,used_percent,disk\n,,0,2018-05-22T00:04:00Z,109.29,used_percent,disk\n,,0,2018-05-22T00:04:10Z,109.18,used_percent,disk\n,,0,2018-05-22T00:04:20Z,109.08,used_percent,disk\n,,0,2018-05-22T00:04:30Z,108.95,used_percent,disk\n,,0,2018-05-22T00:04:40Z,108.42,used_percent,disk\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   44,
						},
						File:   "kama_v2_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   68,
						},
						File:   "kama_v2_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T00:01:40Z,109.24,used_percent,disk\n,,0,2018-05-22T00:01:50Z,109.22,used_percent,disk\n,,0,2018-05-22T00:02:00Z,109.12,used_percent,disk\n,,0,2018-05-22T00:02:10Z,109.10,used_percent,disk\n,,0,2018-05-22T00:02:20Z,109.09,used_percent,disk\n,,0,2018-05-22T00:02:30Z,109.12,used_percent,disk\n,,0,2018-05-22T00:02:40Z,109.14,used_percent,disk\n,,0,2018-05-22T00:02:50Z,109.28,used_percent,disk\n,,0,2018-05-22T00:03:00Z,109.44,used_percent,disk\n,,0,2018-05-22T00:03:10Z,109.46,used_percent,disk\n,,0,2018-05-22T00:03:20Z,109.47,used_percent,disk\n,,0,2018-05-22T00:03:30Z,109.46,used_percent,disk\n,,0,2018-05-22T00:03:40Z,109.39,used_percent,disk\n,,0,2018-05-22T00:03:50Z,109.32,used_percent,disk\n,,0,2018-05-22T00:04:00Z,109.29,used_percent,disk\n,,0,2018-05-22T00:04:10Z,109.18,used_percent,disk\n,,0,2018-05-22T00:04:20Z,109.08,used_percent,disk\n,,0,2018-05-22T00:04:30Z,108.95,used_percent,disk\n,,0,2018-05-22T00:04:40Z,108.42,used_percent,disk\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   44,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T00:01:40Z,109.24,used_percent,disk\n,,0,2018-05-22T00:01:50Z,109.22,used_percent,disk\n,,0,2018-05-22T00:02:00Z,109.12,used_percent,disk\n,,0,2018-05-22T00:02:10Z,109.10,used_percent,disk\n,,0,2018-05-22T00:02:20Z,109.09,used_percent,disk\n,,0,2018-05-22T00:02:30Z,109.12,used_percent,disk\n,,0,2018-05-22T00:02:40Z,109.14,used_percent,disk\n,,0,2018-05-22T00:02:50Z,109.28,used_percent,disk\n,,0,2018-05-22T00:03:00Z,109.44,used_percent,disk\n,,0,2018-05-22T00:03:10Z,109.46,used_percent,disk\n,,0,2018-05-22T00:03:20Z,109.47,used_percent,disk\n,,0,2018-05-22T00:03:30Z,109.46,used_percent,disk\n,,0,2018-05-22T00:03:40Z,109.39,used_percent,disk\n,,0,2018-05-22T00:03:50Z,109.32,used_percent,disk\n,,0,2018-05-22T00:04:00Z,109.29,used_percent,disk\n,,0,2018-05-22T00:04:10Z,109.18,used_percent,disk\n,,0,2018-05-22T00:04:20Z,109.08,used_percent,disk\n,,0,2018-05-22T00:04:30Z,108.95,used_percent,disk\n,,0,2018-05-22T00:04:40Z,108.42,used_percent,disk\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 82,
						Line:   73,
					},
					File:   "kama_v2_test.flux",
					Source: "kama = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansAMA(n: 10)\n    |> map(fn: (r) => ({r with _value: math.round(x: r._value * 100.0) / 100.0}))",
					Start: ast.Position{
						Column: 1,
						Line:   69,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 5,
							Line:   69,
						},
						File:   "kama_v2_test.flux",
						Source: "kama",
						Start: ast.Position{
							Column: 1,
							Line:   69,
						},
					},
				},
				Name: "kama",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 82,
							Line:   73,
						},
						File:   "kama_v2_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansAMA(n: 10)\n    |> map(fn: (r) => ({r with _value: math.round(x: r._value * 100.0) / 100.0}))",
						Start: ast.Position{
							Column: 8,
							Line:   69,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   69,
											},
											File:   "kama_v2_test.flux",
											Source: "table",
											Start: ast.Position{
												Column: 22,
												Line:   69,
											},
										},
									},
									Name: "table",
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   70,
										},
										File:   "kama_v2_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
										Start: ast.Position{
											Column: 22,
											Line:   69,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   70,
												},
												File:   "kama_v2_test.flux",
												Source: "start: 2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   70,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   70,
													},
													File:   "kama_v2_test.flux",
													Source: "start: 2018-05-22T00:00:00Z",
													Start: ast.Position{
														Column: 14,
														Line:   70,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 19,
															Line:   70,
														},
														File:   "kama_v2_test.flux",
														Source: "start",
														Start: ast.Position{
															Column: 14,
															Line:   70,
														},
													},
												},
												Name: "start",
											},
											Separator: nil,
											Value: &ast.DateTimeLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   70,
														},
														File:   "kama_v2_test.flux",
														Source: "2018-05-22T00:00:00Z",
														Start: ast.Position{
															Column: 21,
															Line:   70,
														},
													},
												},
												Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   70,
											},
											File:   "kama_v2_test.flux",
											Source: "range(start: 2018-05-22T00:00:00Z)",
											Start: ast.Position{
												Column: 8,
												Line:   70,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 13,
													Line:   70,
												},
												File:   "kama_v2_test.flux",
												Source: "range",
												Start: ast.Position{
													Column: 8,
													Line:   70,
												},
											},
										},
										Name: "range",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   71,
									},
									File:   "kama_v2_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 22,
										Line:   69,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   71,
											},
											File:   "kama_v2_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 13,
												Line:   71,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   71,
												},
												File:   "kama_v2_test.flux",
												Source: "columns: [\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 13,
													Line:   71,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   71,
													},
													File:   "kama_v2_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 13,
														Line:   71,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   71,
													},
													File:   "kama_v2_test.flux",
													Source: "[\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 22,
														Line:   71,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 31,
															Line:   71,
														},
														File:   "kama_v2_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 23,
															Line:   71,
														},
													},
												},
												Value: "_start",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 40,
															Line:   71,
														},
														File:   "kama_v2_test.flux",
														Source: "\"_stop\"",
														Start: ast.Position{
															Column: 33,
															Line:   71,
														},
													},
												},
												Value: "_stop",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   71,
										},
										File:   "kama_v2_test.flux",
										Source: "drop(columns: [\"_start\", \"_stop\"])",
										Start: ast.Position{
											Column: 8,
											Line:   71,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 12,
												Line:   71,
											},
											File:   "kama_v2_test.flux",
											Source: "drop",
											Start: ast.Position{
												Column: 8,
												Line:   71,
											},
										},
									},
									Name: "drop",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   72,
								},
								File:   "kama_v2_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansAMA(n: 10)",
								Start: ast.Position{
									Column: 22,
									Line:   69,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   72,
										},
										File:   "kama_v2_test.flux",
										Source: "n: 10",
										Start: ast.Position{
											Column: 20,
											Line:   72,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   72,
											},
											File:   "kama_v2_test.flux",
											Source: "n: 10",
											Start: ast.Position{
												Column: 20,
												Line:   72,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   72,
												},
												File:   "kama_v2_test.flux",
												Source: "n",
												Start: ast.Position{
													Column: 20,
													Line:   72,
												},
											},
										},
										Name: "n",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 25,
													Line:   72,
												},
												File:   "kama_v2_test.flux",
												Source: "10",
												Start: ast.Position{
													Column: 23,
													Line:   72,
												},
											},
										},
										Value: int64(10),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 26,
										Line:   72,
									},
									File:   "kama_v2_test.flux",
									Source: "kaufmansAMA(n: 10)",
									Start: ast.Position{
										Column: 8,
										Line:   72,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 19,
											Line:   72,
										},
										File:   "kama_v2_test.flux",
										Source: "kaufmansAMA",
										Start: ast.Position{
											Column: 8,
											Line:   72,
										},
									},
								},
								Name: "kaufmansAMA",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 82,
								Line:   73,
							},
							File:   "kama_v2_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansAMA(n: 10)\n    |> map(fn: (r) => ({r with _value: math.round(x: r._value * 100.0) / 100.0}))",
							Start: ast.Position{
								Column: 22,
								Line:   69,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 81,
										Line:   73,
									},
									File:   "kama_v2_test.flux",
									Source: "fn: (r) => ({r with _value: math.round(x: r._value * 100.0) / 100.0})",
									Start: ast.Position{
										Column: 12,
										Line:   73,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 81,
											Line:   73,
										},
										File:   "kama_v2_test.flux",
										Source: "fn: (r) => ({r with _value: math.round(x: r._value * 100.0) / 100.0})",
										Start: ast.Position{
											Column: 12,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   73,
											},
											File:   "kama_v2_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 12,
												Line:   73,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   73,
											},
											File:   "kama_v2_test.flux",
											Source: "(r) => ({r with _value: math.round(x: r._value * 100.0) / 100.0})",
											Start: ast.Position{
												Column: 16,
												Line:   73,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 81,
													Line:   73,
												},
												File:   "kama_v2_test.flux",
												Source: "({r with _value: math.round(x: r._value * 100.0) / 100.0})",
												Start: ast.Position{
													Column: 23,
													Line:   73,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   73,
													},
													File:   "kama_v2_test.flux",
													Source: "{r with _value: math.round(x: r._value * 100.0) / 100.0}",
													Start: ast.Position{
														Column: 24,
														Line:   73,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 79,
															Line:   73,
														},
														File:   "kama_v2_test.flux",
														Source: "_value: math.round(x: r._value * 100.0) / 100.0",
														Start: ast.Position{
															Column: 32,
															Line:   73,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   73,
															},
															File:   "kama_v2_test.flux",
															Source: "_value",
															Start: ast.Position{
																Column: 32,
																Line:   73,
															},
														},
													},
													Name: "_value",
												},
												Separator: nil,
												Value: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 79,
																Line:   73,
															},
															File:   "kama_v2_test.flux",
															Source: "math.round(x: r._value * 100.0) / 100.0",
															Start: ast.Position{
																Column: 40,
																Line:   73,
															},
														},
													},
													Left: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 70,
																		Line:   73,
																	},
																	File:   "kama_v2_test.flux",
																	Source: "x: r._value * 100.0",
																	Start: ast.Position{
																		Column: 51,
																		Line:   73,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 70,
																			Line:   73,
																		},
																		File:   "kama_v2_test.flux",
																		Source: "x: r._value * 100.0",
																		Start: ast.Position{
																			Column: 51,
																			Line:   73,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 52,
																				Line:   73,
																			},
																			File:   "kama_v2_test.flux",
																			Source: "x",
																			Start: ast.Position{
																				Column: 51,
																				Line:   73,
																			},
																		},
																	},
																	Name: "x",
																},
																Separator: nil,
																Value: &ast.BinaryExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 70,
																				Line:   73,
																			},
																			File:   "kama_v2_test.flux",
																			Source: "r._value * 100.0",
																			Start: ast.Position{
																				Column: 54,
																				Line:   73,
																			},
																		},
																	},
																	Left: &ast.MemberExpression{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 62,
																					Line:   73,
																				},
																				File:   "kama_v2_test.flux",
																				Source: "r._value",
																				Start: ast.Position{
																					Column: 54,
																					Line:   73,
																				},
																			},
																		},
																		Lbrack: nil,
																		Object: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 55,
																						Line:   73,
																					},
																					File:   "kama_v2_test.flux",
																					Source: "r",
																					Start: ast.Position{
																						Column: 54,
																						Line:   73,
																					},
																				},
																			},
																			Name: "r",
																		},
																		Property: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 62,
																						Line:   73,
																					},
																					File:   "kama_v2_test.flux",
																					Source: "_value",
																					Start: ast.Position{
																						Column: 56,
																						Line:   73,
																					},
																				},
																			},
																			Name: "_value",
																		},
																		Rbrack: nil,
																	},
																	Operator: 1,
																	Right: &ast.FloatLiteral{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 70,
																					Line:   73,
																				},
																				File:   "kama_v2_test.flux",
																				Source: "100.0",
																				Start: ast.Position{
																					Column: 65,
																					Line:   73,
																				},
																			},
																		},
																		Value: 100.0,
																	},
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 71,
																	Line:   73,
																},
																File:   "kama_v2_test.flux",
																Source: "math.round(x: r._value * 100.0)",
																Start: ast.Position{
																	Column: 40,
																	Line:   73,
																},
															},
														},
														Callee: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 50,
																		Line:   73,
																	},
																	File:   "kama_v2_test.flux",
																	Source: "math.round",
																	Start: ast.Position{
																		Column: 40,
																		Line:   73,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 44,
																			Line:   73,
																		},
																		File:   "kama_v2_test.flux",
																		Source: "math",
																		Start: ast.Position{
																			Column: 40,
																			Line:   73,
																		},
																	},
																},
																Name: "math",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 50,
																			Line:   73,
																		},
																		File:   "kama_v2_test.flux",
																		Source: "round",
																		Start: ast.Position{
																			Column: 45,
																			Line:   73,
																		},
																	},
																},
																Name: "round",
															},
															Rbrack: nil,
														},
														Lparen: nil,
														Rparen: nil,
													},
													Operator: 2,
													Right: &ast.FloatLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 79,
																	Line:   73,
																},
																File:   "kama_v2_test.flux",
																Source: "100.0",
																Start: ast.Position{
																	Column: 74,
																	Line:   73,
																},
															},
														},
														Value: 100.0,
													},
												},
											}},
											Rbrace: nil,
											With: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 26,
															Line:   73,
														},
														File:   "kama_v2_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 25,
															Line:   73,
														},
													},
												},
												Name: "r",
											},
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   73,
												},
												File:   "kama_v2_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 17,
													Line:   73,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   73,
													},
													File:   "kama_v2_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   73,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 82,
									Line:   73,
								},
								File:   "kama_v2_test.flux",
								Source: "map(fn: (r) => ({r with _value: math.round(x: r._value * 100.0) / 100.0}))",
								Start: ast.Position{
									Column: 8,
									Line:   73,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   73,
									},
									File:   "kama_v2_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   73,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   69,
							},
							File:   "kama_v2_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 9,
								Line:   69,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   69,
								},
								File:   "kama_v2_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 9,
									Line:   69,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   69,
							},
							File:   "kama_v2_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 15,
								Line:   69,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   75,
						},
						File:   "kama_v2_test.flux",
						Source: "_kama = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
						Start: ast.Position{
							Column: 6,
							Line:   75,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   75,
							},
							File:   "kama_v2_test.flux",
							Source: "_kama",
							Start: ast.Position{
								Column: 6,
								Line:   75,
							},
						},
					},
					Name: "_kama",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   75,
							},
							File:   "kama_v2_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
							Start: ast.Position{
								Column: 14,
								Line:   75,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   75,
								},
								File:   "kama_v2_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
								Start: ast.Position{
									Column: 20,
									Line:   75,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   75,
									},
									File:   "kama_v2_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama}",
									Start: ast.Position{
										Column: 21,
										Line:   75,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   75,
										},
										File:   "kama_v2_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   75,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   75,
											},
											File:   "kama_v2_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   75,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   75,
												},
												File:   "kama_v2_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   75,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   75,
													},
													File:   "kama_v2_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   75,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   75,
														},
														File:   "kama_v2_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   75,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   75,
														},
														File:   "kama_v2_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   75,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   75,
											},
											File:   "kama_v2_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   75,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   75,
												},
												File:   "kama_v2_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   75,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   75,
													},
													File:   "kama_v2_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   75,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   75,
													},
													File:   "kama_v2_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   75,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   75,
										},
										File:   "kama_v2_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   75,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   75,
											},
											File:   "kama_v2_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   75,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   75,
												},
												File:   "kama_v2_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   75,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   75,
													},
													File:   "kama_v2_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   75,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   75,
														},
														File:   "kama_v2_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   75,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   75,
														},
														File:   "kama_v2_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   75,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   75,
											},
											File:   "kama_v2_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   75,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   75,
												},
												File:   "kama_v2_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   75,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   75,
													},
													File:   "kama_v2_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   75,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   75,
													},
													File:   "kama_v2_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   75,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   75,
										},
										File:   "kama_v2_test.flux",
										Source: "fn: kama",
										Start: ast.Position{
											Column: 100,
											Line:   75,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   75,
											},
											File:   "kama_v2_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   75,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   75,
											},
											File:   "kama_v2_test.flux",
											Source: "kama",
											Start: ast.Position{
												Column: 104,
												Line:   75,
											},
										},
									},
									Name: "kama",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   75,
					},
					File:   "kama_v2_test.flux",
					Source: "test _kama = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: kama})",
					Start: ast.Position{
						Column: 1,
						Line:   75,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "kama_v2_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "kama_v2_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   5,
					},
					File:   "kama_v2_test.flux",
					Source: "import \"math\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   5,
						},
						File:   "kama_v2_test.flux",
						Source: "\"math\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "math",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "kama_v2_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "kama_v2_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "kama_v2_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 118,
					Line:   65,
				},
				File:   "keep_fn_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,_value\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,91.7364670583823\n,,0,89.51118889861233\n,,0,91.0977744436109\n,,0,91.02836436336374\n,,0,68.304576144036\n,,0,87.88598574821853\n\"\nt_keep_fn = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(fn: (column) => column == \"_field\" or column == \"_value\")\n    |> keep(\n        fn: (column) => {\n            return column == \"_value\"\n        },\n    )\n\ntest _keep_fn = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep_fn})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "keep_fn_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "keep_fn_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "keep_fn_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "keep_fn_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "keep_fn_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "keep_fn_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "keep_fn_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "keep_fn_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "keep_fn_test.flux",
					Source: "outData = \"\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,_value\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,91.7364670583823\n,,0,89.51118889861233\n,,0,91.0977744436109\n,,0,91.02836436336374\n,,0,68.304576144036\n,,0,87.88598574821853\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "keep_fn_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "keep_fn_test.flux",
						Source: "\"\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,_value\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,91.7364670583823\n,,0,89.51118889861233\n,,0,91.0977744436109\n,,0,91.02836436336374\n,,0,68.304576144036\n,,0,87.88598574821853\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,_value\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,0\n,,0,91.7364670583823\n,,0,89.51118889861233\n,,0,91.0977744436109\n,,0,91.02836436336374\n,,0,68.304576144036\n,,0,87.88598574821853\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   63,
					},
					File:   "keep_fn_test.flux",
					Source: "t_keep_fn = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(fn: (column) => column == \"_field\" or column == \"_value\")\n    |> keep(\n        fn: (column) => {\n            return column == \"_value\"\n        },\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   56,
						},
						File:   "keep_fn_test.flux",
						Source: "t_keep_fn",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "t_keep_fn",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   63,
						},
						File:   "keep_fn_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(fn: (column) => column == \"_field\" or column == \"_value\")\n    |> keep(\n        fn: (column) => {\n            return column == \"_value\"\n        },\n    )",
						Start: ast.Position{
							Column: 13,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   56,
										},
										File:   "keep_fn_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 27,
											Line:   56,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "keep_fn_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 27,
										Line:   56,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "keep_fn_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "keep_fn_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   57,
													},
													File:   "keep_fn_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   57,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   57,
													},
													File:   "keep_fn_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   57,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   57,
										},
										File:   "keep_fn_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   57,
											},
											File:   "keep_fn_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   57,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   58,
								},
								File:   "keep_fn_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(fn: (column) => column == \"_field\" or column == \"_value\")",
								Start: ast.Position{
									Column: 27,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   58,
										},
										File:   "keep_fn_test.flux",
										Source: "fn: (column) => column == \"_field\" or column == \"_value\"",
										Start: ast.Position{
											Column: 13,
											Line:   58,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   58,
											},
											File:   "keep_fn_test.flux",
											Source: "fn: (column) => column == \"_field\" or column == \"_value\"",
											Start: ast.Position{
												Column: 13,
												Line:   58,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   58,
												},
												File:   "keep_fn_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 13,
													Line:   58,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   58,
												},
												File:   "keep_fn_test.flux",
												Source: "(column) => column == \"_field\" or column == \"_value\"",
												Start: ast.Position{
													Column: 17,
													Line:   58,
												},
											},
										},
										Body: &ast.LogicalExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   58,
													},
													File:   "keep_fn_test.flux",
													Source: "column == \"_field\" or column == \"_value\"",
													Start: ast.Position{
														Column: 29,
														Line:   58,
													},
												},
											},
											Left: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   58,
														},
														File:   "keep_fn_test.flux",
														Source: "column == \"_field\"",
														Start: ast.Position{
															Column: 29,
															Line:   58,
														},
													},
												},
												Left: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 35,
																Line:   58,
															},
															File:   "keep_fn_test.flux",
															Source: "column",
															Start: ast.Position{
																Column: 29,
																Line:   58,
															},
														},
													},
													Name: "column",
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   58,
															},
															File:   "keep_fn_test.flux",
															Source: "\"_field\"",
															Start: ast.Position{
																Column: 39,
																Line:   58,
															},
														},
													},
													Value: "_field",
												},
											},
											Operator: 2,
											Right: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   58,
														},
														File:   "keep_fn_test.flux",
														Source: "column == \"_value\"",
														Start: ast.Position{
															Column: 51,
															Line:   58,
														},
													},
												},
												Left: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 57,
																Line:   58,
															},
															File:   "keep_fn_test.flux",
															Source: "column",
															Start: ast.Position{
																Column: 51,
																Line:   58,
															},
														},
													},
													Name: "column",
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 69,
																Line:   58,
															},
															File:   "keep_fn_test.flux",
															Source: "\"_value\"",
															Start: ast.Position{
																Column: 61,
																Line:   58,
															},
														},
													},
													Value: "_value",
												},
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   58,
													},
													File:   "keep_fn_test.flux",
													Source: "column",
													Start: ast.Position{
														Column: 18,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   58,
														},
														File:   "keep_fn_test.flux",
														Source: "column",
														Start: ast.Position{
															Column: 18,
															Line:   58,
														},
													},
												},
												Name: "column",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   58,
									},
									File:   "keep_fn_test.flux",
									Source: "keep(fn: (column) => column == \"_field\" or column == \"_value\")",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   58,
										},
										File:   "keep_fn_test.flux",
										Source: "keep",
										Start: ast.Position{
											Column: 8,
											Line:   58,
										},
									},
								},
								Name: "keep",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   63,
							},
							File:   "keep_fn_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(fn: (column) => column == \"_field\" or column == \"_value\")\n    |> keep(\n        fn: (column) => {\n            return column == \"_value\"\n        },\n    )",
							Start: ast.Position{
								Column: 27,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   62,
									},
									File:   "keep_fn_test.flux",
									Source: "fn: (column) => {\n            return column == \"_value\"\n        }",
									Start: ast.Position{
										Column: 9,
										Line:   60,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   62,
										},
										File:   "keep_fn_test.flux",
										Source: "fn: (column) => {\n            return column == \"_value\"\n        }",
										Start: ast.Position{
											Column: 9,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   60,
											},
											File:   "keep_fn_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   60,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   62,
											},
											File:   "keep_fn_test.flux",
											Source: "(column) => {\n            return column == \"_value\"\n        }",
											Start: ast.Position{
												Column: 13,
												Line:   60,
											},
										},
									},
									Body: &ast.Block{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 10,
													Line:   62,
												},
												File:   "keep_fn_test.flux",
												Source: "{\n            return column == \"_value\"\n        }",
												Start: ast.Position{
													Column: 25,
													Line:   60,
												},
											},
										},
										Body: []ast.Statement{&ast.ReturnStatement{
											Argument: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 38,
															Line:   61,
														},
														File:   "keep_fn_test.flux",
														Source: "column == \"_value\"",
														Start: ast.Position{
															Column: 20,
															Line:   61,
														},
													},
												},
												Left: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   61,
															},
															File:   "keep_fn_test.flux",
															Source: "column",
															Start: ast.Position{
																Column: 20,
																Line:   61,
															},
														},
													},
													Name: "column",
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   61,
															},
															File:   "keep_fn_test.flux",
															Source: "\"_value\"",
															Start: ast.Position{
																Column: 30,
																Line:   61,
															},
														},
													},
													Value: "_value",
												},
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   61,
													},
													File:   "keep_fn_test.flux",
													Source: "return column == \"_value\"",
													Start: ast.Position{
														Column: 13,
														Line:   61,
													},
												},
											},
										}},
										Lbrace: nil,
										Rbrace: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   60,
												},
												File:   "keep_fn_test.flux",
												Source: "column",
												Start: ast.Position{
													Column: 14,
													Line:   60,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   60,
													},
													File:   "keep_fn_test.flux",
													Source: "column",
													Start: ast.Position{
														Column: 14,
														Line:   60,
													},
												},
											},
											Name: "column",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   63,
								},
								File:   "keep_fn_test.flux",
								Source: "keep(\n        fn: (column) => {\n            return column == \"_value\"\n        },\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   59,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   59,
									},
									File:   "keep_fn_test.flux",
									Source: "keep",
									Start: ast.Position{
										Column: 8,
										Line:   59,
									},
								},
							},
							Name: "keep",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   56,
							},
							File:   "keep_fn_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 14,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   56,
								},
								File:   "keep_fn_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 14,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   56,
							},
							File:   "keep_fn_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 20,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 118,
							Line:   65,
						},
						File:   "keep_fn_test.flux",
						Source: "_keep_fn = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep_fn})",
						Start: ast.Position{
							Column: 6,
							Line:   65,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   65,
							},
							File:   "keep_fn_test.flux",
							Source: "_keep_fn",
							Start: ast.Position{
								Column: 6,
								Line:   65,
							},
						},
					},
					Name: "_keep_fn",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 118,
								Line:   65,
							},
							File:   "keep_fn_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep_fn})",
							Start: ast.Position{
								Column: 17,
								Line:   65,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 118,
									Line:   65,
								},
								File:   "keep_fn_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep_fn})",
								Start: ast.Position{
									Column: 23,
									Line:   65,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 117,
										Line:   65,
									},
									File:   "keep_fn_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep_fn}",
									Start: ast.Position{
										Column: 24,
										Line:   65,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 64,
											Line:   65,
										},
										File:   "keep_fn_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 25,
											Line:   65,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   65,
											},
											File:   "keep_fn_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 25,
												Line:   65,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   65,
												},
												File:   "keep_fn_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 52,
													Line:   65,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   65,
													},
													File:   "keep_fn_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 52,
														Line:   65,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 55,
															Line:   65,
														},
														File:   "keep_fn_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 52,
															Line:   65,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   65,
														},
														File:   "keep_fn_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 57,
															Line:   65,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 64,
												Line:   65,
											},
											File:   "keep_fn_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 32,
												Line:   65,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   65,
												},
												File:   "keep_fn_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 32,
													Line:   65,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   65,
													},
													File:   "keep_fn_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 32,
														Line:   65,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   65,
													},
													File:   "keep_fn_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 40,
														Line:   65,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 101,
											Line:   65,
										},
										File:   "keep_fn_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 66,
											Line:   65,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   65,
											},
											File:   "keep_fn_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 66,
												Line:   65,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 100,
													Line:   65,
												},
												File:   "keep_fn_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 88,
													Line:   65,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 100,
														Line:   65,
													},
													File:   "keep_fn_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 88,
														Line:   65,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 91,
															Line:   65,
														},
														File:   "keep_fn_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 88,
															Line:   65,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   65,
														},
														File:   "keep_fn_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 93,
															Line:   65,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   65,
											},
											File:   "keep_fn_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 72,
												Line:   65,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 87,
													Line:   65,
												},
												File:   "keep_fn_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 72,
													Line:   65,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 79,
														Line:   65,
													},
													File:   "keep_fn_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 72,
														Line:   65,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   65,
													},
													File:   "keep_fn_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 80,
														Line:   65,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   65,
										},
										File:   "keep_fn_test.flux",
										Source: "fn: t_keep_fn",
										Start: ast.Position{
											Column: 103,
											Line:   65,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   65,
											},
											File:   "keep_fn_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 103,
												Line:   65,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   65,
											},
											File:   "keep_fn_test.flux",
											Source: "t_keep_fn",
											Start: ast.Position{
												Column: 107,
												Line:   65,
											},
										},
									},
									Name: "t_keep_fn",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 118,
						Line:   65,
					},
					File:   "keep_fn_test.flux",
					Source: "test _keep_fn = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep_fn})",
					Start: ast.Position{
						Column: 1,
						Line:   65,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "keep_fn_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "keep_fn_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "keep_fn_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "keep_fn_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "keep_fn_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 125,
					Line:   42,
				},
				File:   "keep_non_existent_only_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long\n#group,false,false\n#default,_result,0\n,result,table\n\"\nt_keep = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(columns: [\"non_existent\"])\n\ntest _keep_non_existent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "keep_non_existent_only_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "keep_non_existent_only_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "keep_non_existent_only_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "keep_non_existent_only_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "keep_non_existent_only_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "keep_non_existent_only_test.flux",
					Source: "outData = \"\n#datatype,string,long\n#group,false,false\n#default,_result,0\n,result,table\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "\"\n#datatype,string,long\n#group,false,false\n#default,_result,0\n,result,table\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long\n#group,false,false\n#default,_result,0\n,result,table\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 39,
						Line:   40,
					},
					File:   "keep_non_existent_only_test.flux",
					Source: "t_keep = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(columns: [\"non_existent\"])",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   38,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "t_keep",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_keep",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 39,
							Line:   40,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(columns: [\"non_existent\"])",
						Start: ast.Position{
							Column: 10,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   38,
									},
									File:   "keep_non_existent_only_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   38,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   39,
								},
								File:   "keep_non_existent_only_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 24,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   39,
										},
										File:   "keep_non_existent_only_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "keep_non_existent_only_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   39,
												},
												File:   "keep_non_existent_only_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   39,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   39,
												},
												File:   "keep_non_existent_only_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   39,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   39,
									},
									File:   "keep_non_existent_only_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   39,
										},
										File:   "keep_non_existent_only_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   40,
							},
							File:   "keep_non_existent_only_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(columns: [\"non_existent\"])",
							Start: ast.Position{
								Column: 24,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   40,
									},
									File:   "keep_non_existent_only_test.flux",
									Source: "columns: [\"non_existent\"]",
									Start: ast.Position{
										Column: 13,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   40,
										},
										File:   "keep_non_existent_only_test.flux",
										Source: "columns: [\"non_existent\"]",
										Start: ast.Position{
											Column: 13,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   40,
											},
											File:   "keep_non_existent_only_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   40,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   40,
											},
											File:   "keep_non_existent_only_test.flux",
											Source: "[\"non_existent\"]",
											Start: ast.Position{
												Column: 22,
												Line:   40,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   40,
												},
												File:   "keep_non_existent_only_test.flux",
												Source: "\"non_existent\"",
												Start: ast.Position{
													Column: 23,
													Line:   40,
												},
											},
										},
										Value: "non_existent",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   40,
								},
								File:   "keep_non_existent_only_test.flux",
								Source: "keep(columns: [\"non_existent\"])",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   40,
									},
									File:   "keep_non_existent_only_test.flux",
									Source: "keep",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "keep",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   38,
							},
							File:   "keep_non_existent_only_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   38,
								},
								File:   "keep_non_existent_only_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   38,
							},
							File:   "keep_non_existent_only_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 125,
							Line:   42,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "_keep_non_existent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   42,
							},
							File:   "keep_non_existent_only_test.flux",
							Source: "_keep_non_existent",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_keep_non_existent",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 125,
								Line:   42,
							},
							File:   "keep_non_existent_only_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
							Start: ast.Position{
								Column: 27,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 125,
									Line:   42,
								},
								File:   "keep_non_existent_only_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
								Start: ast.Position{
									Column: 33,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 124,
										Line:   42,
									},
									File:   "keep_non_existent_only_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep}",
									Start: ast.Position{
										Column: 34,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   42,
										},
										File:   "keep_non_existent_only_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 35,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   42,
											},
											File:   "keep_non_existent_only_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 35,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   42,
												},
												File:   "keep_non_existent_only_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 62,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   42,
													},
													File:   "keep_non_existent_only_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 62,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   42,
														},
														File:   "keep_non_existent_only_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 62,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   42,
														},
														File:   "keep_non_existent_only_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 67,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   42,
											},
											File:   "keep_non_existent_only_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 42,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   42,
												},
												File:   "keep_non_existent_only_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 42,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   42,
													},
													File:   "keep_non_existent_only_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 42,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   42,
													},
													File:   "keep_non_existent_only_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 50,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   42,
										},
										File:   "keep_non_existent_only_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 76,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   42,
											},
											File:   "keep_non_existent_only_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 76,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 110,
													Line:   42,
												},
												File:   "keep_non_existent_only_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 98,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 110,
														Line:   42,
													},
													File:   "keep_non_existent_only_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 98,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   42,
														},
														File:   "keep_non_existent_only_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 98,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 110,
															Line:   42,
														},
														File:   "keep_non_existent_only_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 103,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   42,
											},
											File:   "keep_non_existent_only_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 82,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   42,
												},
												File:   "keep_non_existent_only_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 82,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   42,
													},
													File:   "keep_non_existent_only_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 82,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   42,
													},
													File:   "keep_non_existent_only_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 90,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 123,
											Line:   42,
										},
										File:   "keep_non_existent_only_test.flux",
										Source: "fn: t_keep",
										Start: ast.Position{
											Column: 113,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   42,
											},
											File:   "keep_non_existent_only_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 113,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   42,
											},
											File:   "keep_non_existent_only_test.flux",
											Source: "t_keep",
											Start: ast.Position{
												Column: 117,
												Line:   42,
											},
										},
									},
									Name: "t_keep",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 125,
						Line:   42,
					},
					File:   "keep_non_existent_only_test.flux",
					Source: "test _keep_non_existent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "keep_non_existent_only_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "keep_non_existent_only_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "keep_non_existent_only_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "keep_non_existent_only_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 125,
					Line:   70,
				},
				File:   "keep_non_existent_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\nt_keep = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(\n        columns: [\n            \"non_existent\",\n            \"_time\",\n            \"_value\",\n            \"_field\",\n            \"_measurement\",\n            \"old\",\n            \"host\",\n        ],\n    )\n\ntest _keep_non_existent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "keep_non_existent_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "keep_non_existent_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "keep_non_existent_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "keep_non_existent_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "keep_non_existent_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "keep_non_existent_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "keep_non_existent_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "keep_non_existent_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "keep_non_existent_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "keep_non_existent_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "keep_non_existent_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   68,
					},
					File:   "keep_non_existent_test.flux",
					Source: "t_keep = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(\n        columns: [\n            \"non_existent\",\n            \"_time\",\n            \"_value\",\n            \"_field\",\n            \"_measurement\",\n            \"old\",\n            \"host\",\n        ],\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   56,
						},
						File:   "keep_non_existent_test.flux",
						Source: "t_keep",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "t_keep",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   68,
						},
						File:   "keep_non_existent_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(\n        columns: [\n            \"non_existent\",\n            \"_time\",\n            \"_value\",\n            \"_field\",\n            \"_measurement\",\n            \"old\",\n            \"host\",\n        ],\n    )",
						Start: ast.Position{
							Column: 10,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   56,
									},
									File:   "keep_non_existent_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   56,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   57,
								},
								File:   "keep_non_existent_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 24,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   57,
										},
										File:   "keep_non_existent_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   57,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "keep_non_existent_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   57,
												},
												File:   "keep_non_existent_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "keep_non_existent_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   57,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "keep_non_existent_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   57,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   57,
										},
										File:   "keep_non_existent_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   68,
							},
							File:   "keep_non_existent_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(\n        columns: [\n            \"non_existent\",\n            \"_time\",\n            \"_value\",\n            \"_field\",\n            \"_measurement\",\n            \"old\",\n            \"host\",\n        ],\n    )",
							Start: ast.Position{
								Column: 24,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   67,
									},
									File:   "keep_non_existent_test.flux",
									Source: "columns: [\n            \"non_existent\",\n            \"_time\",\n            \"_value\",\n            \"_field\",\n            \"_measurement\",\n            \"old\",\n            \"host\",\n        ]",
									Start: ast.Position{
										Column: 9,
										Line:   59,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   67,
										},
										File:   "keep_non_existent_test.flux",
										Source: "columns: [\n            \"non_existent\",\n            \"_time\",\n            \"_value\",\n            \"_field\",\n            \"_measurement\",\n            \"old\",\n            \"host\",\n        ]",
										Start: ast.Position{
											Column: 9,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   59,
											},
											File:   "keep_non_existent_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 9,
												Line:   59,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   67,
											},
											File:   "keep_non_existent_test.flux",
											Source: "[\n            \"non_existent\",\n            \"_time\",\n            \"_value\",\n            \"_field\",\n            \"_measurement\",\n            \"old\",\n            \"host\",\n        ]",
											Start: ast.Position{
												Column: 18,
												Line:   59,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 27,
													Line:   60,
												},
												File:   "keep_non_existent_test.flux",
												Source: "\"non_existent\"",
												Start: ast.Position{
													Column: 13,
													Line:   60,
												},
											},
										},
										Value: "non_existent",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   61,
												},
												File:   "keep_non_existent_test.flux",
												Source: "\"_time\"",
												Start: ast.Position{
													Column: 13,
													Line:   61,
												},
											},
										},
										Value: "_time",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   62,
												},
												File:   "keep_non_existent_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 13,
													Line:   62,
												},
											},
										},
										Value: "_value",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   63,
												},
												File:   "keep_non_existent_test.flux",
												Source: "\"_field\"",
												Start: ast.Position{
													Column: 13,
													Line:   63,
												},
											},
										},
										Value: "_field",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 27,
													Line:   64,
												},
												File:   "keep_non_existent_test.flux",
												Source: "\"_measurement\"",
												Start: ast.Position{
													Column: 13,
													Line:   64,
												},
											},
										},
										Value: "_measurement",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   65,
												},
												File:   "keep_non_existent_test.flux",
												Source: "\"old\"",
												Start: ast.Position{
													Column: 13,
													Line:   65,
												},
											},
										},
										Value: "old",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   66,
												},
												File:   "keep_non_existent_test.flux",
												Source: "\"host\"",
												Start: ast.Position{
													Column: 13,
													Line:   66,
												},
											},
										},
										Value: "host",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   68,
								},
								File:   "keep_non_existent_test.flux",
								Source: "keep(\n        columns: [\n            \"non_existent\",\n            \"_time\",\n            \"_value\",\n            \"_field\",\n            \"_measurement\",\n            \"old\",\n            \"host\",\n        ],\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   58,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   58,
									},
									File:   "keep_non_existent_test.flux",
									Source: "keep",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Name: "keep",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   56,
							},
							File:   "keep_non_existent_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   56,
								},
								File:   "keep_non_existent_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   56,
							},
							File:   "keep_non_existent_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 125,
							Line:   70,
						},
						File:   "keep_non_existent_test.flux",
						Source: "_keep_non_existent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
						Start: ast.Position{
							Column: 6,
							Line:   70,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   70,
							},
							File:   "keep_non_existent_test.flux",
							Source: "_keep_non_existent",
							Start: ast.Position{
								Column: 6,
								Line:   70,
							},
						},
					},
					Name: "_keep_non_existent",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 125,
								Line:   70,
							},
							File:   "keep_non_existent_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
							Start: ast.Position{
								Column: 27,
								Line:   70,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 125,
									Line:   70,
								},
								File:   "keep_non_existent_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
								Start: ast.Position{
									Column: 33,
									Line:   70,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 124,
										Line:   70,
									},
									File:   "keep_non_existent_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep}",
									Start: ast.Position{
										Column: 34,
										Line:   70,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   70,
										},
										File:   "keep_non_existent_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 35,
											Line:   70,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   70,
											},
											File:   "keep_non_existent_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 35,
												Line:   70,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   70,
												},
												File:   "keep_non_existent_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 62,
													Line:   70,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   70,
													},
													File:   "keep_non_existent_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 62,
														Line:   70,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   70,
														},
														File:   "keep_non_existent_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 62,
															Line:   70,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   70,
														},
														File:   "keep_non_existent_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 67,
															Line:   70,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   70,
											},
											File:   "keep_non_existent_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 42,
												Line:   70,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   70,
												},
												File:   "keep_non_existent_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 42,
													Line:   70,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   70,
													},
													File:   "keep_non_existent_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 42,
														Line:   70,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   70,
													},
													File:   "keep_non_existent_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 50,
														Line:   70,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   70,
										},
										File:   "keep_non_existent_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 76,
											Line:   70,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   70,
											},
											File:   "keep_non_existent_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 76,
												Line:   70,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 110,
													Line:   70,
												},
												File:   "keep_non_existent_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 98,
													Line:   70,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 110,
														Line:   70,
													},
													File:   "keep_non_existent_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 98,
														Line:   70,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   70,
														},
														File:   "keep_non_existent_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 98,
															Line:   70,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 110,
															Line:   70,
														},
														File:   "keep_non_existent_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 103,
															Line:   70,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   70,
											},
											File:   "keep_non_existent_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 82,
												Line:   70,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   70,
												},
												File:   "keep_non_existent_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 82,
													Line:   70,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   70,
													},
													File:   "keep_non_existent_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 82,
														Line:   70,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   70,
													},
													File:   "keep_non_existent_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 90,
														Line:   70,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 123,
											Line:   70,
										},
										File:   "keep_non_existent_test.flux",
										Source: "fn: t_keep",
										Start: ast.Position{
											Column: 113,
											Line:   70,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   70,
											},
											File:   "keep_non_existent_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 113,
												Line:   70,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   70,
											},
											File:   "keep_non_existent_test.flux",
											Source: "t_keep",
											Start: ast.Position{
												Column: 117,
												Line:   70,
											},
										},
									},
									Name: "t_keep",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 125,
						Line:   70,
					},
					File:   "keep_non_existent_test.flux",
					Source: "test _keep_non_existent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
					Start: ast.Position{
						Column: 1,
						Line:   70,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "keep_non_existent_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "keep_non_existent_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "keep_non_existent_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "keep_non_existent_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "keep_non_existent_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   60,
				},
				File:   "keep_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,_value,_field\n,,0,2018-05-22T19:53:26Z,0,usage_guest\n,,0,2018-05-22T19:53:36Z,0,usage_guest\n,,0,2018-05-22T19:53:46Z,0,usage_guest\n,,0,2018-05-22T19:53:56Z,0,usage_guest\n,,0,2018-05-22T19:54:06Z,0,usage_guest\n,,0,2018-05-22T19:54:16Z,0,usage_guest\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle\n\"\nt_keep = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(columns: [\"_time\", \"_value\", \"_field\"])\n\ntest _keep = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "keep_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "keep_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "keep_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "keep_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "keep_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "keep_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "keep_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "keep_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "keep_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,_value,_field\n,,0,2018-05-22T19:53:26Z,0,usage_guest\n,,0,2018-05-22T19:53:36Z,0,usage_guest\n,,0,2018-05-22T19:53:46Z,0,usage_guest\n,,0,2018-05-22T19:53:56Z,0,usage_guest\n,,0,2018-05-22T19:54:06Z,0,usage_guest\n,,0,2018-05-22T19:54:16Z,0,usage_guest\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "keep_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "keep_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,_value,_field\n,,0,2018-05-22T19:53:26Z,0,usage_guest\n,,0,2018-05-22T19:53:36Z,0,usage_guest\n,,0,2018-05-22T19:53:46Z,0,usage_guest\n,,0,2018-05-22T19:53:56Z,0,usage_guest\n,,0,2018-05-22T19:54:06Z,0,usage_guest\n,,0,2018-05-22T19:54:16Z,0,usage_guest\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string\n#group,false,false,false,false,true\n#default,_result,,,,\n,result,table,_time,_value,_field\n,,0,2018-05-22T19:53:26Z,0,usage_guest\n,,0,2018-05-22T19:53:36Z,0,usage_guest\n,,0,2018-05-22T19:53:46Z,0,usage_guest\n,,0,2018-05-22T19:53:56Z,0,usage_guest\n,,0,2018-05-22T19:54:06Z,0,usage_guest\n,,0,2018-05-22T19:54:16Z,0,usage_guest\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 52,
						Line:   58,
					},
					File:   "keep_test.flux",
					Source: "t_keep = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(columns: [\"_time\", \"_value\", \"_field\"])",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   56,
						},
						File:   "keep_test.flux",
						Source: "t_keep",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "t_keep",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 52,
							Line:   58,
						},
						File:   "keep_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(columns: [\"_time\", \"_value\", \"_field\"])",
						Start: ast.Position{
							Column: 10,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   56,
									},
									File:   "keep_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   56,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   57,
								},
								File:   "keep_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 24,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   57,
										},
										File:   "keep_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   57,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "keep_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   57,
												},
												File:   "keep_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "keep_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   57,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "keep_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   57,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   57,
										},
										File:   "keep_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 52,
								Line:   58,
							},
							File:   "keep_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keep(columns: [\"_time\", \"_value\", \"_field\"])",
							Start: ast.Position{
								Column: 24,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 51,
										Line:   58,
									},
									File:   "keep_test.flux",
									Source: "columns: [\"_time\", \"_value\", \"_field\"]",
									Start: ast.Position{
										Column: 13,
										Line:   58,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 51,
											Line:   58,
										},
										File:   "keep_test.flux",
										Source: "columns: [\"_time\", \"_value\", \"_field\"]",
										Start: ast.Position{
											Column: 13,
											Line:   58,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   58,
											},
											File:   "keep_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   58,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   58,
											},
											File:   "keep_test.flux",
											Source: "[\"_time\", \"_value\", \"_field\"]",
											Start: ast.Position{
												Column: 22,
												Line:   58,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 30,
													Line:   58,
												},
												File:   "keep_test.flux",
												Source: "\"_time\"",
												Start: ast.Position{
													Column: 23,
													Line:   58,
												},
											},
										},
										Value: "_time",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   58,
												},
												File:   "keep_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 32,
													Line:   58,
												},
											},
										},
										Value: "_value",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   58,
												},
												File:   "keep_test.flux",
												Source: "\"_field\"",
												Start: ast.Position{
													Column: 42,
													Line:   58,
												},
											},
										},
										Value: "_field",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 52,
									Line:   58,
								},
								File:   "keep_test.flux",
								Source: "keep(columns: [\"_time\", \"_value\", \"_field\"])",
								Start: ast.Position{
									Column: 8,
									Line:   58,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   58,
									},
									File:   "keep_test.flux",
									Source: "keep",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Name: "keep",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   56,
							},
							File:   "keep_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   56,
								},
								File:   "keep_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   56,
							},
							File:   "keep_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   60,
						},
						File:   "keep_test.flux",
						Source: "_keep = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
						Start: ast.Position{
							Column: 6,
							Line:   60,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   60,
							},
							File:   "keep_test.flux",
							Source: "_keep",
							Start: ast.Position{
								Column: 6,
								Line:   60,
							},
						},
					},
					Name: "_keep",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   60,
							},
							File:   "keep_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
							Start: ast.Position{
								Column: 14,
								Line:   60,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   60,
								},
								File:   "keep_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
								Start: ast.Position{
									Column: 20,
									Line:   60,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   60,
									},
									File:   "keep_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep}",
									Start: ast.Position{
										Column: 21,
										Line:   60,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   60,
										},
										File:   "keep_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   60,
											},
											File:   "keep_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   60,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   60,
												},
												File:   "keep_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   60,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   60,
													},
													File:   "keep_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   60,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   60,
														},
														File:   "keep_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   60,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   60,
														},
														File:   "keep_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   60,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   60,
											},
											File:   "keep_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   60,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   60,
												},
												File:   "keep_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   60,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   60,
													},
													File:   "keep_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   60,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   60,
													},
													File:   "keep_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   60,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   60,
										},
										File:   "keep_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   60,
											},
											File:   "keep_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   60,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   60,
												},
												File:   "keep_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   60,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   60,
													},
													File:   "keep_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   60,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   60,
														},
														File:   "keep_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   60,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   60,
														},
														File:   "keep_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   60,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   60,
											},
											File:   "keep_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   60,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   60,
												},
												File:   "keep_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   60,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   60,
													},
													File:   "keep_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   60,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   60,
													},
													File:   "keep_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   60,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   60,
										},
										File:   "keep_test.flux",
										Source: "fn: t_keep",
										Start: ast.Position{
											Column: 100,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   60,
											},
											File:   "keep_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   60,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   60,
											},
											File:   "keep_test.flux",
											Source: "t_keep",
											Start: ast.Position{
												Column: 104,
												Line:   60,
											},
										},
									},
									Name: "t_keep",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   60,
					},
					File:   "keep_test.flux",
					Source: "test _keep = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keep})",
					Start: ast.Position{
						Column: 1,
						Line:   60,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "keep_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "keep_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "keep_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "keep_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "keep_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 108,
					Line:   34,
				},
				File:   "ker_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,21,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,22,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,23,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,22,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,21,used_percent,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:30Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,0.33333333333333337,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,0.33333333333333337,used_percent,disk,disk1s1,apfs,host.local,/\n\"\nker = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansER(n: 3)\n\ntest _ker = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: ker})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "ker_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "ker_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "ker_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "ker_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "ker_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "ker_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,21,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,22,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,23,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,22,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,21,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "ker_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "ker_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,21,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,22,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,23,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,22,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,21,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,20,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,21,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,22,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,23,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,22,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,21,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   28,
					},
					File:   "ker_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:30Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,0.33333333333333337,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,0.33333333333333337,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "ker_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   28,
						},
						File:   "ker_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:30Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,0.33333333333333337,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,0.33333333333333337,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:30Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,0.33333333333333337,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,0.33333333333333337,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   32,
					},
					File:   "ker_test.flux",
					Source: "ker = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansER(n: 3)",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 4,
							Line:   29,
						},
						File:   "ker_test.flux",
						Source: "ker",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "ker",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   32,
						},
						File:   "ker_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansER(n: 3)",
						Start: ast.Position{
							Column: 7,
							Line:   29,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 26,
											Line:   29,
										},
										File:   "ker_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 21,
											Line:   29,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   30,
									},
									File:   "ker_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
									Start: ast.Position{
										Column: 21,
										Line:   29,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   30,
											},
											File:   "ker_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   30,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   30,
												},
												File:   "ker_test.flux",
												Source: "start: 2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   30,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   30,
													},
													File:   "ker_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   30,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   30,
													},
													File:   "ker_test.flux",
													Source: "2018-05-22T00:00:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   30,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   30,
										},
										File:   "ker_test.flux",
										Source: "range(start: 2018-05-22T00:00:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   30,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   30,
											},
											File:   "ker_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   30,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   31,
								},
								File:   "ker_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 21,
									Line:   29,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   31,
										},
										File:   "ker_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   31,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   31,
											},
											File:   "ker_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 13,
												Line:   31,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   31,
												},
												File:   "ker_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 13,
													Line:   31,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   31,
												},
												File:   "ker_test.flux",
												Source: "[\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 22,
													Line:   31,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   31,
													},
													File:   "ker_test.flux",
													Source: "\"_start\"",
													Start: ast.Position{
														Column: 23,
														Line:   31,
													},
												},
											},
											Value: "_start",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   31,
													},
													File:   "ker_test.flux",
													Source: "\"_stop\"",
													Start: ast.Position{
														Column: 33,
														Line:   31,
													},
												},
											},
											Value: "_stop",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   31,
									},
									File:   "ker_test.flux",
									Source: "drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   31,
										},
										File:   "ker_test.flux",
										Source: "drop",
										Start: ast.Position{
											Column: 8,
											Line:   31,
										},
									},
								},
								Name: "drop",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   32,
							},
							File:   "ker_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> kaufmansER(n: 3)",
							Start: ast.Position{
								Column: 21,
								Line:   29,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   32,
									},
									File:   "ker_test.flux",
									Source: "n: 3",
									Start: ast.Position{
										Column: 19,
										Line:   32,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   32,
										},
										File:   "ker_test.flux",
										Source: "n: 3",
										Start: ast.Position{
											Column: 19,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   32,
											},
											File:   "ker_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 19,
												Line:   32,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   32,
											},
											File:   "ker_test.flux",
											Source: "3",
											Start: ast.Position{
												Column: 22,
												Line:   32,
											},
										},
									},
									Value: int64(3),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   32,
								},
								File:   "ker_test.flux",
								Source: "kaufmansER(n: 3)",
								Start: ast.Position{
									Column: 8,
									Line:   32,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   32,
									},
									File:   "ker_test.flux",
									Source: "kaufmansER",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Name: "kaufmansER",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   29,
							},
							File:   "ker_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 8,
								Line:   29,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   29,
								},
								File:   "ker_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 8,
									Line:   29,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   29,
							},
							File:   "ker_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 14,
								Line:   29,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 108,
							Line:   34,
						},
						File:   "ker_test.flux",
						Source: "_ker = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: ker})",
						Start: ast.Position{
							Column: 6,
							Line:   34,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   34,
							},
							File:   "ker_test.flux",
							Source: "_ker",
							Start: ast.Position{
								Column: 6,
								Line:   34,
							},
						},
					},
					Name: "_ker",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 108,
								Line:   34,
							},
							File:   "ker_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: ker})",
							Start: ast.Position{
								Column: 13,
								Line:   34,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 108,
									Line:   34,
								},
								File:   "ker_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: ker})",
								Start: ast.Position{
									Column: 19,
									Line:   34,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 107,
										Line:   34,
									},
									File:   "ker_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: ker}",
									Start: ast.Position{
										Column: 20,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   34,
										},
										File:   "ker_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   34,
											},
											File:   "ker_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   34,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   34,
												},
												File:   "ker_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   34,
													},
													File:   "ker_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   34,
														},
														File:   "ker_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   34,
														},
														File:   "ker_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   34,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   34,
											},
											File:   "ker_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   34,
												},
												File:   "ker_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   34,
													},
													File:   "ker_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   34,
													},
													File:   "ker_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   34,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   34,
										},
										File:   "ker_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   34,
											},
											File:   "ker_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   34,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   34,
												},
												File:   "ker_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   34,
													},
													File:   "ker_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   34,
														},
														File:   "ker_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   34,
														},
														File:   "ker_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   34,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   34,
											},
											File:   "ker_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   34,
												},
												File:   "ker_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   34,
													},
													File:   "ker_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   34,
													},
													File:   "ker_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   34,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   34,
										},
										File:   "ker_test.flux",
										Source: "fn: ker",
										Start: ast.Position{
											Column: 99,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   34,
											},
											File:   "ker_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   34,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   34,
											},
											File:   "ker_test.flux",
											Source: "ker",
											Start: ast.Position{
												Column: 103,
												Line:   34,
											},
										},
									},
									Name: "ker",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 108,
						Line:   34,
					},
					File:   "ker_test.flux",
					Source: "test _ker = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: ker})",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "ker_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "ker_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "ker_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "ker_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "ker_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 144,
					Line:   65,
				},
				File:   "key_values_host_name_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,name,_field\n,,0,2018-05-22T19:53:30Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:40Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:50Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:00Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:10Z,_m0,h1,n1,ff\n,,0,2018-05-22T19:53:20Z,_m0,h1,n1,ff\n,,1,2018-05-22T19:53:30Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:53:40Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:53:50Z,_m1,h2,n2,ff\n,,1,2018-05-22T19:54:00Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:10Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:30Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:40Z,_m1,h3,n3,ff\n,,1,2018-05-22T19:53:50Z,_m1,h3,n2,ff\n,,1,2018-05-22T19:54:00Z,_m1,h3,n3,ff\n,,2,2018-05-22T19:53:10Z,_m2,h3,n3,ff\n,,2,2018-05-22T19:53:30Z,_m2,h5,n5,ff\n,,2,2018-05-22T19:54:40Z,_m2,h5,n5,ff\n,,2,2018-05-22T19:53:50Z,_m2,h5,n5,ff\n,,3,2018-05-22T19:54:00Z,_m3,h5,n5,ff\n,,3,2018-05-22T19:54:10Z,_m3,h4,n1,ff\n,,3,2018-05-22T19:54:20Z,_m3,h4,n4,ff\n\"\noutData = \"\n#datatype,string,long,string,string,string,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_measurement,_key,_value,_field\n,,0,_m0,host,h0,ff\n,,0,_m0,name,n0,ff\n,,0,_m0,host,h1,ff\n,,0,_m0,name,n1,ff\n,,1,_m1,host,h1,ff\n,,1,_m1,name,n1,ff\n,,1,_m1,host,h2,ff\n,,1,_m1,name,n2,ff\n,,1,_m1,host,h3,ff\n,,1,_m1,name,n3,ff\n,,2,_m2,host,h3,ff\n,,2,_m2,name,n3,ff\n,,2,_m2,host,h5,ff\n,,2,_m2,name,n5,ff\n,,3,_m3,host,h5,ff\n,,3,_m3,name,n5,ff\n,,3,_m3,host,h4,ff\n,,3,_m3,name,n1,ff\n,,3,_m3,name,n4,ff\n\"\nt_key_values_host_name = (table=<-) => table\n    |> keyValues(keyColumns: [\"host\", \"name\"])\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _key_values_host_name = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values_host_name})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "key_values_host_name_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "key_values_host_name_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "key_values_host_name_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "key_values_host_name_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "key_values_host_name_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "key_values_host_name_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,name,_field\n,,0,2018-05-22T19:53:30Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:40Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:50Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:00Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:10Z,_m0,h1,n1,ff\n,,0,2018-05-22T19:53:20Z,_m0,h1,n1,ff\n,,1,2018-05-22T19:53:30Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:53:40Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:53:50Z,_m1,h2,n2,ff\n,,1,2018-05-22T19:54:00Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:10Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:30Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:40Z,_m1,h3,n3,ff\n,,1,2018-05-22T19:53:50Z,_m1,h3,n2,ff\n,,1,2018-05-22T19:54:00Z,_m1,h3,n3,ff\n,,2,2018-05-22T19:53:10Z,_m2,h3,n3,ff\n,,2,2018-05-22T19:53:30Z,_m2,h5,n5,ff\n,,2,2018-05-22T19:54:40Z,_m2,h5,n5,ff\n,,2,2018-05-22T19:53:50Z,_m2,h5,n5,ff\n,,3,2018-05-22T19:54:00Z,_m3,h5,n5,ff\n,,3,2018-05-22T19:54:10Z,_m3,h4,n1,ff\n,,3,2018-05-22T19:54:20Z,_m3,h4,n4,ff\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "key_values_host_name_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "key_values_host_name_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,name,_field\n,,0,2018-05-22T19:53:30Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:40Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:50Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:00Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:10Z,_m0,h1,n1,ff\n,,0,2018-05-22T19:53:20Z,_m0,h1,n1,ff\n,,1,2018-05-22T19:53:30Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:53:40Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:53:50Z,_m1,h2,n2,ff\n,,1,2018-05-22T19:54:00Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:10Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:30Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:40Z,_m1,h3,n3,ff\n,,1,2018-05-22T19:53:50Z,_m1,h3,n2,ff\n,,1,2018-05-22T19:54:00Z,_m1,h3,n3,ff\n,,2,2018-05-22T19:53:10Z,_m2,h3,n3,ff\n,,2,2018-05-22T19:53:30Z,_m2,h5,n5,ff\n,,2,2018-05-22T19:54:40Z,_m2,h5,n5,ff\n,,2,2018-05-22T19:53:50Z,_m2,h5,n5,ff\n,,3,2018-05-22T19:54:00Z,_m3,h5,n5,ff\n,,3,2018-05-22T19:54:10Z,_m3,h4,n1,ff\n,,3,2018-05-22T19:54:20Z,_m3,h4,n4,ff\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,true,false,false,true\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,name,_field\n,,0,2018-05-22T19:53:30Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:40Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:50Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:00Z,_m0,h0,n0,ff\n,,0,2018-05-22T19:53:10Z,_m0,h1,n1,ff\n,,0,2018-05-22T19:53:20Z,_m0,h1,n1,ff\n,,1,2018-05-22T19:53:30Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:53:40Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:53:50Z,_m1,h2,n2,ff\n,,1,2018-05-22T19:54:00Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:10Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:30Z,_m1,h1,n1,ff\n,,1,2018-05-22T19:54:40Z,_m1,h3,n3,ff\n,,1,2018-05-22T19:53:50Z,_m1,h3,n2,ff\n,,1,2018-05-22T19:54:00Z,_m1,h3,n3,ff\n,,2,2018-05-22T19:53:10Z,_m2,h3,n3,ff\n,,2,2018-05-22T19:53:30Z,_m2,h5,n5,ff\n,,2,2018-05-22T19:54:40Z,_m2,h5,n5,ff\n,,2,2018-05-22T19:53:50Z,_m2,h5,n5,ff\n,,3,2018-05-22T19:54:00Z,_m3,h5,n5,ff\n,,3,2018-05-22T19:54:10Z,_m3,h4,n1,ff\n,,3,2018-05-22T19:54:20Z,_m3,h4,n4,ff\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   60,
					},
					File:   "key_values_host_name_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,string,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_measurement,_key,_value,_field\n,,0,_m0,host,h0,ff\n,,0,_m0,name,n0,ff\n,,0,_m0,host,h1,ff\n,,0,_m0,name,n1,ff\n,,1,_m1,host,h1,ff\n,,1,_m1,name,n1,ff\n,,1,_m1,host,h2,ff\n,,1,_m1,name,n2,ff\n,,1,_m1,host,h3,ff\n,,1,_m1,name,n3,ff\n,,2,_m2,host,h3,ff\n,,2,_m2,name,n3,ff\n,,2,_m2,host,h5,ff\n,,2,_m2,name,n5,ff\n,,3,_m3,host,h5,ff\n,,3,_m3,name,n5,ff\n,,3,_m3,host,h4,ff\n,,3,_m3,name,n1,ff\n,,3,_m3,name,n4,ff\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   36,
						},
						File:   "key_values_host_name_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   60,
						},
						File:   "key_values_host_name_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_measurement,_key,_value,_field\n,,0,_m0,host,h0,ff\n,,0,_m0,name,n0,ff\n,,0,_m0,host,h1,ff\n,,0,_m0,name,n1,ff\n,,1,_m1,host,h1,ff\n,,1,_m1,name,n1,ff\n,,1,_m1,host,h2,ff\n,,1,_m1,name,n2,ff\n,,1,_m1,host,h3,ff\n,,1,_m1,name,n3,ff\n,,2,_m2,host,h3,ff\n,,2,_m2,name,n3,ff\n,,2,_m2,host,h5,ff\n,,2,_m2,name,n5,ff\n,,3,_m3,host,h5,ff\n,,3,_m3,name,n5,ff\n,,3,_m3,host,h4,ff\n,,3,_m3,name,n1,ff\n,,3,_m3,name,n4,ff\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   36,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_measurement,_key,_value,_field\n,,0,_m0,host,h0,ff\n,,0,_m0,name,n0,ff\n,,0,_m0,host,h1,ff\n,,0,_m0,name,n1,ff\n,,1,_m1,host,h1,ff\n,,1,_m1,name,n1,ff\n,,1,_m1,host,h2,ff\n,,1,_m1,name,n2,ff\n,,1,_m1,host,h3,ff\n,,1,_m1,name,n3,ff\n,,2,_m2,host,h3,ff\n,,2,_m2,name,n3,ff\n,,2,_m2,host,h5,ff\n,,2,_m2,name,n5,ff\n,,3,_m3,host,h5,ff\n,,3,_m3,name,n5,ff\n,,3,_m3,host,h4,ff\n,,3,_m3,name,n1,ff\n,,3,_m3,name,n4,ff\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   63,
					},
					File:   "key_values_host_name_test.flux",
					Source: "t_key_values_host_name = (table=<-) => table\n    |> keyValues(keyColumns: [\"host\", \"name\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   61,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 23,
							Line:   61,
						},
						File:   "key_values_host_name_test.flux",
						Source: "t_key_values_host_name",
						Start: ast.Position{
							Column: 1,
							Line:   61,
						},
					},
				},
				Name: "t_key_values_host_name",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   63,
						},
						File:   "key_values_host_name_test.flux",
						Source: "(table=<-) => table\n    |> keyValues(keyColumns: [\"host\", \"name\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 26,
							Line:   61,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   61,
									},
									File:   "key_values_host_name_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 40,
										Line:   61,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 47,
									Line:   62,
								},
								File:   "key_values_host_name_test.flux",
								Source: "table\n    |> keyValues(keyColumns: [\"host\", \"name\"])",
								Start: ast.Position{
									Column: 40,
									Line:   61,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   62,
										},
										File:   "key_values_host_name_test.flux",
										Source: "keyColumns: [\"host\", \"name\"]",
										Start: ast.Position{
											Column: 18,
											Line:   62,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   62,
											},
											File:   "key_values_host_name_test.flux",
											Source: "keyColumns: [\"host\", \"name\"]",
											Start: ast.Position{
												Column: 18,
												Line:   62,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   62,
												},
												File:   "key_values_host_name_test.flux",
												Source: "keyColumns",
												Start: ast.Position{
													Column: 18,
													Line:   62,
												},
											},
										},
										Name: "keyColumns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   62,
												},
												File:   "key_values_host_name_test.flux",
												Source: "[\"host\", \"name\"]",
												Start: ast.Position{
													Column: 30,
													Line:   62,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   62,
													},
													File:   "key_values_host_name_test.flux",
													Source: "\"host\"",
													Start: ast.Position{
														Column: 31,
														Line:   62,
													},
												},
											},
											Value: "host",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   62,
													},
													File:   "key_values_host_name_test.flux",
													Source: "\"name\"",
													Start: ast.Position{
														Column: 39,
														Line:   62,
													},
												},
											},
											Value: "name",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 47,
										Line:   62,
									},
									File:   "key_values_host_name_test.flux",
									Source: "keyValues(keyColumns: [\"host\", \"name\"])",
									Start: ast.Position{
										Column: 8,
										Line:   62,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   62,
										},
										File:   "key_values_host_name_test.flux",
										Source: "keyValues",
										Start: ast.Position{
											Column: 8,
											Line:   62,
										},
									},
								},
								Name: "keyValues",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   63,
							},
							File:   "key_values_host_name_test.flux",
							Source: "table\n    |> keyValues(keyColumns: [\"host\", \"name\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 40,
								Line:   61,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   63,
									},
									File:   "key_values_host_name_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   63,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   63,
										},
										File:   "key_values_host_name_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   63,
											},
											File:   "key_values_host_name_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   63,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   63,
											},
											File:   "key_values_host_name_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   63,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   63,
												},
												File:   "key_values_host_name_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   63,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   63,
												},
												File:   "key_values_host_name_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   63,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   63,
								},
								File:   "key_values_host_name_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   63,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   63,
									},
									File:   "key_values_host_name_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   63,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   61,
							},
							File:   "key_values_host_name_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 27,
								Line:   61,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 32,
									Line:   61,
								},
								File:   "key_values_host_name_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 27,
									Line:   61,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   61,
							},
							File:   "key_values_host_name_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 33,
								Line:   61,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 144,
							Line:   65,
						},
						File:   "key_values_host_name_test.flux",
						Source: "_key_values_host_name = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values_host_name})",
						Start: ast.Position{
							Column: 6,
							Line:   65,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   65,
							},
							File:   "key_values_host_name_test.flux",
							Source: "_key_values_host_name",
							Start: ast.Position{
								Column: 6,
								Line:   65,
							},
						},
					},
					Name: "_key_values_host_name",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 144,
								Line:   65,
							},
							File:   "key_values_host_name_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values_host_name})",
							Start: ast.Position{
								Column: 30,
								Line:   65,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 144,
									Line:   65,
								},
								File:   "key_values_host_name_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values_host_name})",
								Start: ast.Position{
									Column: 36,
									Line:   65,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 143,
										Line:   65,
									},
									File:   "key_values_host_name_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values_host_name}",
									Start: ast.Position{
										Column: 37,
										Line:   65,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 77,
											Line:   65,
										},
										File:   "key_values_host_name_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 38,
											Line:   65,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   65,
											},
											File:   "key_values_host_name_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 38,
												Line:   65,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 76,
													Line:   65,
												},
												File:   "key_values_host_name_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 65,
													Line:   65,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   65,
													},
													File:   "key_values_host_name_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 65,
														Line:   65,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   65,
														},
														File:   "key_values_host_name_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 65,
															Line:   65,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 76,
															Line:   65,
														},
														File:   "key_values_host_name_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 70,
															Line:   65,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   65,
											},
											File:   "key_values_host_name_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 45,
												Line:   65,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   65,
												},
												File:   "key_values_host_name_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 45,
													Line:   65,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   65,
													},
													File:   "key_values_host_name_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 45,
														Line:   65,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 64,
														Line:   65,
													},
													File:   "key_values_host_name_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 53,
														Line:   65,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   65,
										},
										File:   "key_values_host_name_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 79,
											Line:   65,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   65,
											},
											File:   "key_values_host_name_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 79,
												Line:   65,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 113,
													Line:   65,
												},
												File:   "key_values_host_name_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 101,
													Line:   65,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 113,
														Line:   65,
													},
													File:   "key_values_host_name_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 101,
														Line:   65,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 104,
															Line:   65,
														},
														File:   "key_values_host_name_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 101,
															Line:   65,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 113,
															Line:   65,
														},
														File:   "key_values_host_name_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 106,
															Line:   65,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   65,
											},
											File:   "key_values_host_name_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 85,
												Line:   65,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 100,
													Line:   65,
												},
												File:   "key_values_host_name_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 85,
													Line:   65,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   65,
													},
													File:   "key_values_host_name_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 85,
														Line:   65,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 100,
														Line:   65,
													},
													File:   "key_values_host_name_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 93,
														Line:   65,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 142,
											Line:   65,
										},
										File:   "key_values_host_name_test.flux",
										Source: "fn: t_key_values_host_name",
										Start: ast.Position{
											Column: 116,
											Line:   65,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   65,
											},
											File:   "key_values_host_name_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 116,
												Line:   65,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 142,
												Line:   65,
											},
											File:   "key_values_host_name_test.flux",
											Source: "t_key_values_host_name",
											Start: ast.Position{
												Column: 120,
												Line:   65,
											},
										},
									},
									Name: "t_key_values_host_name",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 144,
						Line:   65,
					},
					File:   "key_values_host_name_test.flux",
					Source: "test _key_values_host_name = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values_host_name})",
					Start: ast.Position{
						Column: 1,
						Line:   65,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "key_values_host_name_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "key_values_host_name_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "key_values_host_name_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "key_values_host_name_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "key_values_host_name_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   48,
				},
				File:   "key_values_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,10,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,11,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,12,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,13,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,14,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,16,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,17,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,18,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,19,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,20,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,21,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,string,string,string,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,host,name,_key,_value\n,,0,host.local,disk0,_value,10\n,,0,host.local,disk0,_value,11\n,,0,host.local,disk0,_value,12\n,,0,host.local,disk0,_value,13\n,,0,host.local,disk0,_value,14\n,,0,host.local,disk0,_value,15\n,,1,host.local,disk2,_value,16\n,,1,host.local,disk2,_value,17\n,,1,host.local,disk2,_value,18\n,,1,host.local,disk2,_value,19\n,,1,host.local,disk2,_value,20\n,,1,host.local,disk2,_value,21\n\"\nt_key_values = (table=<-) => table\n    |> keyValues(keyColumns: [\"_value\"])\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _key_values = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "key_values_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "key_values_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "key_values_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "key_values_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "key_values_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "key_values_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,10,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,11,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,12,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,13,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,14,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,16,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,17,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,18,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,19,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,20,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,21,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "key_values_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "key_values_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,10,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,11,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,12,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,13,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,14,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,16,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,17,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,18,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,19,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,20,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,21,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,10,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,11,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,12,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,13,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,14,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,16,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,17,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,18,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,19,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,20,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,21,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "key_values_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,string,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,host,name,_key,_value\n,,0,host.local,disk0,_value,10\n,,0,host.local,disk0,_value,11\n,,0,host.local,disk0,_value,12\n,,0,host.local,disk0,_value,13\n,,0,host.local,disk0,_value,14\n,,0,host.local,disk0,_value,15\n,,1,host.local,disk2,_value,16\n,,1,host.local,disk2,_value,17\n,,1,host.local,disk2,_value,18\n,,1,host.local,disk2,_value,19\n,,1,host.local,disk2,_value,20\n,,1,host.local,disk2,_value,21\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "key_values_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "key_values_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,host,name,_key,_value\n,,0,host.local,disk0,_value,10\n,,0,host.local,disk0,_value,11\n,,0,host.local,disk0,_value,12\n,,0,host.local,disk0,_value,13\n,,0,host.local,disk0,_value,14\n,,0,host.local,disk0,_value,15\n,,1,host.local,disk2,_value,16\n,,1,host.local,disk2,_value,17\n,,1,host.local,disk2,_value,18\n,,1,host.local,disk2,_value,19\n,,1,host.local,disk2,_value,20\n,,1,host.local,disk2,_value,21\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,host,name,_key,_value\n,,0,host.local,disk0,_value,10\n,,0,host.local,disk0,_value,11\n,,0,host.local,disk0,_value,12\n,,0,host.local,disk0,_value,13\n,,0,host.local,disk0,_value,14\n,,0,host.local,disk0,_value,15\n,,1,host.local,disk2,_value,16\n,,1,host.local,disk2,_value,17\n,,1,host.local,disk2,_value,18\n,,1,host.local,disk2,_value,19\n,,1,host.local,disk2,_value,20\n,,1,host.local,disk2,_value,21\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   46,
					},
					File:   "key_values_test.flux",
					Source: "t_key_values = (table=<-) => table\n    |> keyValues(keyColumns: [\"_value\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   44,
						},
						File:   "key_values_test.flux",
						Source: "t_key_values",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_key_values",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   46,
						},
						File:   "key_values_test.flux",
						Source: "(table=<-) => table\n    |> keyValues(keyColumns: [\"_value\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 16,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   44,
									},
									File:   "key_values_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   45,
								},
								File:   "key_values_test.flux",
								Source: "table\n    |> keyValues(keyColumns: [\"_value\"])",
								Start: ast.Position{
									Column: 30,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   45,
										},
										File:   "key_values_test.flux",
										Source: "keyColumns: [\"_value\"]",
										Start: ast.Position{
											Column: 18,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   45,
											},
											File:   "key_values_test.flux",
											Source: "keyColumns: [\"_value\"]",
											Start: ast.Position{
												Column: 18,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   45,
												},
												File:   "key_values_test.flux",
												Source: "keyColumns",
												Start: ast.Position{
													Column: 18,
													Line:   45,
												},
											},
										},
										Name: "keyColumns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   45,
												},
												File:   "key_values_test.flux",
												Source: "[\"_value\"]",
												Start: ast.Position{
													Column: 30,
													Line:   45,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   45,
													},
													File:   "key_values_test.flux",
													Source: "\"_value\"",
													Start: ast.Position{
														Column: 31,
														Line:   45,
													},
												},
											},
											Value: "_value",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   45,
									},
									File:   "key_values_test.flux",
									Source: "keyValues(keyColumns: [\"_value\"])",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   45,
										},
										File:   "key_values_test.flux",
										Source: "keyValues",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "keyValues",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   46,
							},
							File:   "key_values_test.flux",
							Source: "table\n    |> keyValues(keyColumns: [\"_value\"])\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 30,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   46,
									},
									File:   "key_values_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   46,
										},
										File:   "key_values_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   46,
											},
											File:   "key_values_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   46,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   46,
											},
											File:   "key_values_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   46,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   46,
												},
												File:   "key_values_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   46,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   46,
												},
												File:   "key_values_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   46,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   46,
								},
								File:   "key_values_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   46,
									},
									File:   "key_values_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   44,
							},
							File:   "key_values_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   44,
								},
								File:   "key_values_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   44,
							},
							File:   "key_values_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   48,
						},
						File:   "key_values_test.flux",
						Source: "_key_values = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   48,
							},
							File:   "key_values_test.flux",
							Source: "_key_values",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_key_values",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   48,
							},
							File:   "key_values_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values})",
							Start: ast.Position{
								Column: 20,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   48,
								},
								File:   "key_values_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values})",
								Start: ast.Position{
									Column: 26,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   48,
									},
									File:   "key_values_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values}",
									Start: ast.Position{
										Column: 27,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   48,
										},
										File:   "key_values_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   48,
											},
											File:   "key_values_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   48,
												},
												File:   "key_values_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   48,
													},
													File:   "key_values_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   48,
														},
														File:   "key_values_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   48,
														},
														File:   "key_values_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   48,
											},
											File:   "key_values_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   48,
												},
												File:   "key_values_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   48,
													},
													File:   "key_values_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   48,
													},
													File:   "key_values_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   48,
										},
										File:   "key_values_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   48,
											},
											File:   "key_values_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   48,
												},
												File:   "key_values_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   48,
													},
													File:   "key_values_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   48,
														},
														File:   "key_values_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   48,
														},
														File:   "key_values_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   48,
											},
											File:   "key_values_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   48,
												},
												File:   "key_values_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   48,
													},
													File:   "key_values_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   48,
													},
													File:   "key_values_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   48,
										},
										File:   "key_values_test.flux",
										Source: "fn: t_key_values",
										Start: ast.Position{
											Column: 106,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   48,
											},
											File:   "key_values_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   48,
											},
											File:   "key_values_test.flux",
											Source: "t_key_values",
											Start: ast.Position{
												Column: 110,
												Line:   48,
											},
										},
									},
									Name: "t_key_values",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   48,
					},
					File:   "key_values_test.flux",
					Source: "test _key_values = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_key_values})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "key_values_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "key_values_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "key_values_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "key_values_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "key_values_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   44,
				},
				File:   "keys_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,host,name,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_start\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_stop\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,host\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,name\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_start\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_stop\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,host\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,name\n\"\nt_keys = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> keys()\n\ntest _keys = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keys})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "keys_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "keys_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "keys_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "keys_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "keys_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "keys_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "keys_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "keys_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   39,
					},
					File:   "keys_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,host,name,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_start\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_stop\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,host\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,name\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_start\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_stop\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,host\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,name\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "keys_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   39,
						},
						File:   "keys_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,host,name,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_start\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_stop\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,host\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,name\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_start\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_stop\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,host\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,name\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,host,name,_value\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_start\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,_stop\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,host\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk0,name\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_start\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,_stop\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,host\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,host.local,disk2,name\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   42,
					},
					File:   "keys_test.flux",
					Source: "t_keys = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> keys()",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   40,
						},
						File:   "keys_test.flux",
						Source: "t_keys",
						Start: ast.Position{
							Column: 1,
							Line:   40,
						},
					},
				},
				Name: "t_keys",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   42,
						},
						File:   "keys_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> keys()",
						Start: ast.Position{
							Column: 10,
							Line:   40,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   40,
									},
									File:   "keys_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   40,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   41,
								},
								File:   "keys_test.flux",
								Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)",
								Start: ast.Position{
									Column: 24,
									Line:   40,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   41,
										},
										File:   "keys_test.flux",
										Source: "start: 2018-05-20T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   41,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   41,
											},
											File:   "keys_test.flux",
											Source: "start: 2018-05-20T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   41,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   41,
												},
												File:   "keys_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   41,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   41,
												},
												File:   "keys_test.flux",
												Source: "2018-05-20T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   41,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-20T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   41,
									},
									File:   "keys_test.flux",
									Source: "range(start: 2018-05-20T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   41,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   41,
										},
										File:   "keys_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   41,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   42,
							},
							File:   "keys_test.flux",
							Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> keys()",
							Start: ast.Position{
								Column: 24,
								Line:   40,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   42,
								},
								File:   "keys_test.flux",
								Source: "keys()",
								Start: ast.Position{
									Column: 8,
									Line:   42,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   42,
									},
									File:   "keys_test.flux",
									Source: "keys",
									Start: ast.Position{
										Column: 8,
										Line:   42,
									},
								},
							},
							Name: "keys",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   40,
							},
							File:   "keys_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   40,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   40,
								},
								File:   "keys_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   40,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   40,
							},
							File:   "keys_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   40,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   44,
						},
						File:   "keys_test.flux",
						Source: "_keys = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keys})",
						Start: ast.Position{
							Column: 6,
							Line:   44,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   44,
							},
							File:   "keys_test.flux",
							Source: "_keys",
							Start: ast.Position{
								Column: 6,
								Line:   44,
							},
						},
					},
					Name: "_keys",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   44,
							},
							File:   "keys_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keys})",
							Start: ast.Position{
								Column: 14,
								Line:   44,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   44,
								},
								File:   "keys_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keys})",
								Start: ast.Position{
									Column: 20,
									Line:   44,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   44,
									},
									File:   "keys_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keys}",
									Start: ast.Position{
										Column: 21,
										Line:   44,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   44,
										},
										File:   "keys_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   44,
											},
											File:   "keys_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   44,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   44,
												},
												File:   "keys_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   44,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   44,
													},
													File:   "keys_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   44,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   44,
														},
														File:   "keys_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   44,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   44,
														},
														File:   "keys_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   44,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   44,
											},
											File:   "keys_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   44,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   44,
												},
												File:   "keys_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   44,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   44,
													},
													File:   "keys_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   44,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   44,
													},
													File:   "keys_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   44,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   44,
										},
										File:   "keys_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   44,
											},
											File:   "keys_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   44,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   44,
												},
												File:   "keys_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   44,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   44,
													},
													File:   "keys_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   44,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   44,
														},
														File:   "keys_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   44,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   44,
														},
														File:   "keys_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   44,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   44,
											},
											File:   "keys_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   44,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   44,
												},
												File:   "keys_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   44,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   44,
													},
													File:   "keys_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   44,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   44,
													},
													File:   "keys_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   44,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   44,
										},
										File:   "keys_test.flux",
										Source: "fn: t_keys",
										Start: ast.Position{
											Column: 100,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   44,
											},
											File:   "keys_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   44,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   44,
											},
											File:   "keys_test.flux",
											Source: "t_keys",
											Start: ast.Position{
												Column: 104,
												Line:   44,
											},
										},
									},
									Name: "t_keys",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   44,
					},
					File:   "keys_test.flux",
					Source: "test _keys = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_keys})",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "keys_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "keys_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "keys_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "keys_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "keys_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   52,
				},
				File:   "last_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\nt_last = (table=<-) => table\n    |> last()\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _last = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_last})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "last_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "last_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "last_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "last_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "last_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "last_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "last_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "last_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "last_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   38,
						},
						File:   "last_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "last_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   38,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   50,
					},
					File:   "last_test.flux",
					Source: "t_last = (table=<-) => table\n    |> last()\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   48,
						},
						File:   "last_test.flux",
						Source: "t_last",
						Start: ast.Position{
							Column: 1,
							Line:   48,
						},
					},
				},
				Name: "t_last",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   50,
						},
						File:   "last_test.flux",
						Source: "(table=<-) => table\n    |> last()\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 10,
							Line:   48,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   48,
									},
									File:   "last_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   48,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   49,
								},
								File:   "last_test.flux",
								Source: "table\n    |> last()",
								Start: ast.Position{
									Column: 24,
									Line:   48,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: nil,
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   49,
									},
									File:   "last_test.flux",
									Source: "last()",
									Start: ast.Position{
										Column: 8,
										Line:   49,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   49,
										},
										File:   "last_test.flux",
										Source: "last",
										Start: ast.Position{
											Column: 8,
											Line:   49,
										},
									},
								},
								Name: "last",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   50,
							},
							File:   "last_test.flux",
							Source: "table\n    |> last()\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 24,
								Line:   48,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   50,
									},
									File:   "last_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   50,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   50,
										},
										File:   "last_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   50,
											},
											File:   "last_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   50,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   50,
											},
											File:   "last_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   50,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "last_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   50,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   50,
												},
												File:   "last_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   50,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   50,
								},
								File:   "last_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   50,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   50,
									},
									File:   "last_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   50,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   48,
							},
							File:   "last_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   48,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   48,
								},
								File:   "last_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   48,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   48,
							},
							File:   "last_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   48,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   52,
						},
						File:   "last_test.flux",
						Source: "_last = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_last})",
						Start: ast.Position{
							Column: 6,
							Line:   52,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   52,
							},
							File:   "last_test.flux",
							Source: "_last",
							Start: ast.Position{
								Column: 6,
								Line:   52,
							},
						},
					},
					Name: "_last",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   52,
							},
							File:   "last_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_last})",
							Start: ast.Position{
								Column: 14,
								Line:   52,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   52,
								},
								File:   "last_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_last})",
								Start: ast.Position{
									Column: 20,
									Line:   52,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   52,
									},
									File:   "last_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_last}",
									Start: ast.Position{
										Column: 21,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   52,
										},
										File:   "last_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   52,
											},
											File:   "last_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   52,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   52,
												},
												File:   "last_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   52,
													},
													File:   "last_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   52,
														},
														File:   "last_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   52,
														},
														File:   "last_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   52,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   52,
											},
											File:   "last_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   52,
												},
												File:   "last_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   52,
													},
													File:   "last_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   52,
													},
													File:   "last_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   52,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   52,
										},
										File:   "last_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   52,
											},
											File:   "last_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   52,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   52,
												},
												File:   "last_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   52,
													},
													File:   "last_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   52,
														},
														File:   "last_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   52,
														},
														File:   "last_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   52,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   52,
											},
											File:   "last_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   52,
												},
												File:   "last_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   52,
													},
													File:   "last_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   52,
													},
													File:   "last_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   52,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   52,
										},
										File:   "last_test.flux",
										Source: "fn: t_last",
										Start: ast.Position{
											Column: 100,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   52,
											},
											File:   "last_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   52,
											},
											File:   "last_test.flux",
											Source: "t_last",
											Start: ast.Position{
												Column: 104,
												Line:   52,
											},
										},
									},
									Name: "t_last",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   52,
					},
					File:   "last_test.flux",
					Source: "test _last = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_last})",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "last_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "last_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "last_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "last_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "last_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 121,
					Line:   56,
				},
				File:   "limit_offset_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n\"\nt_limit = (table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> limit(n: 2, offset: 1)\n\ntest _limit_offset = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "limit_offset_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "limit_offset_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "limit_offset_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "limit_offset_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "limit_offset_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "limit_offset_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "limit_offset_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "limit_offset_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   51,
					},
					File:   "limit_offset_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   38,
						},
						File:   "limit_offset_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   51,
						},
						File:   "limit_offset_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   38,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 30,
						Line:   54,
					},
					File:   "limit_offset_test.flux",
					Source: "t_limit = (table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> limit(n: 2, offset: 1)",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   52,
						},
						File:   "limit_offset_test.flux",
						Source: "t_limit",
						Start: ast.Position{
							Column: 1,
							Line:   52,
						},
					},
				},
				Name: "t_limit",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 30,
							Line:   54,
						},
						File:   "limit_offset_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> limit(n: 2, offset: 1)",
						Start: ast.Position{
							Column: 11,
							Line:   52,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   52,
									},
									File:   "limit_offset_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 25,
										Line:   52,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   53,
								},
								File:   "limit_offset_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)",
								Start: ast.Position{
									Column: 25,
									Line:   52,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   53,
										},
										File:   "limit_offset_test.flux",
										Source: "start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   53,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   53,
											},
											File:   "limit_offset_test.flux",
											Source: "start: 2018-05-22T19:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   53,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   53,
												},
												File:   "limit_offset_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   53,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   53,
												},
												File:   "limit_offset_test.flux",
												Source: "2018-05-22T19:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   53,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:00:00Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   53,
											},
											File:   "limit_offset_test.flux",
											Source: "stop: 2018-05-22T20:00:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   53,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   53,
												},
												File:   "limit_offset_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   53,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   53,
												},
												File:   "limit_offset_test.flux",
												Source: "2018-05-22T20:00:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   53,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T20:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   53,
									},
									File:   "limit_offset_test.flux",
									Source: "range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   53,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   53,
										},
										File:   "limit_offset_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   53,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   54,
							},
							File:   "limit_offset_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> limit(n: 2, offset: 1)",
							Start: ast.Position{
								Column: 25,
								Line:   52,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   54,
									},
									File:   "limit_offset_test.flux",
									Source: "n: 2, offset: 1",
									Start: ast.Position{
										Column: 14,
										Line:   54,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 18,
											Line:   54,
										},
										File:   "limit_offset_test.flux",
										Source: "n: 2",
										Start: ast.Position{
											Column: 14,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 15,
												Line:   54,
											},
											File:   "limit_offset_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 14,
												Line:   54,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   54,
											},
											File:   "limit_offset_test.flux",
											Source: "2",
											Start: ast.Position{
												Column: 17,
												Line:   54,
											},
										},
									},
									Value: int64(2),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   54,
										},
										File:   "limit_offset_test.flux",
										Source: "offset: 1",
										Start: ast.Position{
											Column: 20,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   54,
											},
											File:   "limit_offset_test.flux",
											Source: "offset",
											Start: ast.Position{
												Column: 20,
												Line:   54,
											},
										},
									},
									Name: "offset",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   54,
											},
											File:   "limit_offset_test.flux",
											Source: "1",
											Start: ast.Position{
												Column: 28,
												Line:   54,
											},
										},
									},
									Value: int64(1),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   54,
								},
								File:   "limit_offset_test.flux",
								Source: "limit(n: 2, offset: 1)",
								Start: ast.Position{
									Column: 8,
									Line:   54,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   54,
									},
									File:   "limit_offset_test.flux",
									Source: "limit",
									Start: ast.Position{
										Column: 8,
										Line:   54,
									},
								},
							},
							Name: "limit",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   52,
							},
							File:   "limit_offset_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   52,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   52,
								},
								File:   "limit_offset_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   52,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   52,
							},
							File:   "limit_offset_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   52,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 121,
							Line:   56,
						},
						File:   "limit_offset_test.flux",
						Source: "_limit_offset = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
						Start: ast.Position{
							Column: 6,
							Line:   56,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   56,
							},
							File:   "limit_offset_test.flux",
							Source: "_limit_offset",
							Start: ast.Position{
								Column: 6,
								Line:   56,
							},
						},
					},
					Name: "_limit_offset",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 121,
								Line:   56,
							},
							File:   "limit_offset_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
							Start: ast.Position{
								Column: 22,
								Line:   56,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 121,
									Line:   56,
								},
								File:   "limit_offset_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
								Start: ast.Position{
									Column: 28,
									Line:   56,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 120,
										Line:   56,
									},
									File:   "limit_offset_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit}",
									Start: ast.Position{
										Column: 29,
										Line:   56,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   56,
										},
										File:   "limit_offset_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 30,
											Line:   56,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   56,
											},
											File:   "limit_offset_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 30,
												Line:   56,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   56,
												},
												File:   "limit_offset_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 57,
													Line:   56,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   56,
													},
													File:   "limit_offset_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 57,
														Line:   56,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   56,
														},
														File:   "limit_offset_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 57,
															Line:   56,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   56,
														},
														File:   "limit_offset_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 62,
															Line:   56,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   56,
											},
											File:   "limit_offset_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 37,
												Line:   56,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   56,
												},
												File:   "limit_offset_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 37,
													Line:   56,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   56,
													},
													File:   "limit_offset_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 37,
														Line:   56,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   56,
													},
													File:   "limit_offset_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 45,
														Line:   56,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   56,
										},
										File:   "limit_offset_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 71,
											Line:   56,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   56,
											},
											File:   "limit_offset_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 71,
												Line:   56,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 105,
													Line:   56,
												},
												File:   "limit_offset_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 93,
													Line:   56,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   56,
													},
													File:   "limit_offset_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 93,
														Line:   56,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   56,
														},
														File:   "limit_offset_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 93,
															Line:   56,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   56,
														},
														File:   "limit_offset_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 98,
															Line:   56,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   56,
											},
											File:   "limit_offset_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 77,
												Line:   56,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   56,
												},
												File:   "limit_offset_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 77,
													Line:   56,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   56,
													},
													File:   "limit_offset_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 77,
														Line:   56,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   56,
													},
													File:   "limit_offset_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 85,
														Line:   56,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 119,
											Line:   56,
										},
										File:   "limit_offset_test.flux",
										Source: "fn: t_limit",
										Start: ast.Position{
											Column: 108,
											Line:   56,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   56,
											},
											File:   "limit_offset_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 108,
												Line:   56,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 119,
												Line:   56,
											},
											File:   "limit_offset_test.flux",
											Source: "t_limit",
											Start: ast.Position{
												Column: 112,
												Line:   56,
											},
										},
									},
									Name: "t_limit",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 121,
						Line:   56,
					},
					File:   "limit_offset_test.flux",
					Source: "test _limit_offset = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "limit_offset_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "limit_offset_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "limit_offset_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "limit_offset_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "limit_offset_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   52,
				},
				File:   "limit_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n\"\nt_limit = (table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> limit(n: 1)\n\ntest _limit = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "limit_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "limit_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "limit_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "limit_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "limit_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "limit_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "limit_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "limit_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "limit_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   38,
						},
						File:   "limit_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "limit_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   38,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 19,
						Line:   50,
					},
					File:   "limit_test.flux",
					Source: "t_limit = (table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> limit(n: 1)",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   48,
						},
						File:   "limit_test.flux",
						Source: "t_limit",
						Start: ast.Position{
							Column: 1,
							Line:   48,
						},
					},
				},
				Name: "t_limit",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 19,
							Line:   50,
						},
						File:   "limit_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> limit(n: 1)",
						Start: ast.Position{
							Column: 11,
							Line:   48,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   48,
									},
									File:   "limit_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 25,
										Line:   48,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   49,
								},
								File:   "limit_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)",
								Start: ast.Position{
									Column: 25,
									Line:   48,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   49,
										},
										File:   "limit_test.flux",
										Source: "start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   49,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   49,
											},
											File:   "limit_test.flux",
											Source: "start: 2018-05-22T19:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   49,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   49,
												},
												File:   "limit_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   49,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   49,
												},
												File:   "limit_test.flux",
												Source: "2018-05-22T19:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   49,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:00:00Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   49,
											},
											File:   "limit_test.flux",
											Source: "stop: 2018-05-22T20:00:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   49,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   49,
												},
												File:   "limit_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   49,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   49,
												},
												File:   "limit_test.flux",
												Source: "2018-05-22T20:00:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   49,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T20:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   49,
									},
									File:   "limit_test.flux",
									Source: "range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   49,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   49,
										},
										File:   "limit_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   49,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   50,
							},
							File:   "limit_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> limit(n: 1)",
							Start: ast.Position{
								Column: 25,
								Line:   48,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   50,
									},
									File:   "limit_test.flux",
									Source: "n: 1",
									Start: ast.Position{
										Column: 14,
										Line:   50,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 18,
											Line:   50,
										},
										File:   "limit_test.flux",
										Source: "n: 1",
										Start: ast.Position{
											Column: 14,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 15,
												Line:   50,
											},
											File:   "limit_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 14,
												Line:   50,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   50,
											},
											File:   "limit_test.flux",
											Source: "1",
											Start: ast.Position{
												Column: 17,
												Line:   50,
											},
										},
									},
									Value: int64(1),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   50,
								},
								File:   "limit_test.flux",
								Source: "limit(n: 1)",
								Start: ast.Position{
									Column: 8,
									Line:   50,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   50,
									},
									File:   "limit_test.flux",
									Source: "limit",
									Start: ast.Position{
										Column: 8,
										Line:   50,
									},
								},
							},
							Name: "limit",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   48,
							},
							File:   "limit_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   48,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   48,
								},
								File:   "limit_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   48,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   48,
							},
							File:   "limit_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   48,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   52,
						},
						File:   "limit_test.flux",
						Source: "_limit = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
						Start: ast.Position{
							Column: 6,
							Line:   52,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   52,
							},
							File:   "limit_test.flux",
							Source: "_limit",
							Start: ast.Position{
								Column: 6,
								Line:   52,
							},
						},
					},
					Name: "_limit",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   52,
							},
							File:   "limit_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
							Start: ast.Position{
								Column: 15,
								Line:   52,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   52,
								},
								File:   "limit_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
								Start: ast.Position{
									Column: 21,
									Line:   52,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   52,
									},
									File:   "limit_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit}",
									Start: ast.Position{
										Column: 22,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   52,
										},
										File:   "limit_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   52,
											},
											File:   "limit_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   52,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   52,
												},
												File:   "limit_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   52,
													},
													File:   "limit_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   52,
														},
														File:   "limit_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   52,
														},
														File:   "limit_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   52,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   52,
											},
											File:   "limit_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   52,
												},
												File:   "limit_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   52,
													},
													File:   "limit_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   52,
													},
													File:   "limit_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   52,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   52,
										},
										File:   "limit_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   52,
											},
											File:   "limit_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   52,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   52,
												},
												File:   "limit_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   52,
													},
													File:   "limit_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   52,
														},
														File:   "limit_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   52,
														},
														File:   "limit_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   52,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   52,
											},
											File:   "limit_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   52,
												},
												File:   "limit_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   52,
													},
													File:   "limit_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   52,
													},
													File:   "limit_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   52,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   52,
										},
										File:   "limit_test.flux",
										Source: "fn: t_limit",
										Start: ast.Position{
											Column: 101,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   52,
											},
											File:   "limit_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   52,
											},
											File:   "limit_test.flux",
											Source: "t_limit",
											Start: ast.Position{
												Column: 105,
												Line:   52,
											},
										},
									},
									Name: "t_limit",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   52,
					},
					File:   "limit_test.flux",
					Source: "test _limit = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_limit})",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "limit_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "limit_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "limit_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "limit_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "limit_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 130,
					Line:   42,
				},
				File:   "lowestAverage_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"\noutData = \"\n#datatype,string,long,string,string,double\n#group,false,false,false,false,false\n#default,_result,,,,\n,result,table,_measurement,host,_value\n,,0,DD,HostD,10\n,,0,DD,HostC,15\n,,0,CC,HostA,18\n\"\nt_lowestAverage = (table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])\n\ntest _lowestAverage = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestAverage})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "lowestAverage_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "lowestAverage_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "lowestAverage_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "lowestAverage_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "lowestAverage_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   28,
					},
					File:   "lowestAverage_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "lowestAverage_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   28,
						},
						File:   "lowestAverage_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "lowestAverage_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,double\n#group,false,false,false,false,false\n#default,_result,,,,\n,result,table,_measurement,host,_value\n,,0,DD,HostD,10\n,,0,DD,HostC,15\n,,0,CC,HostA,18\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   29,
						},
						File:   "lowestAverage_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "lowestAverage_test.flux",
						Source: "\"\n#datatype,string,long,string,string,double\n#group,false,false,false,false,false\n#default,_result,,,,\n,result,table,_measurement,host,_value\n,,0,DD,HostD,10\n,,0,DD,HostC,15\n,,0,CC,HostA,18\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   29,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,double\n#group,false,false,false,false,false\n#default,_result,,,,\n,result,table,_measurement,host,_value\n,,0,DD,HostD,10\n,,0,DD,HostC,15\n,,0,CC,HostA,18\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 67,
						Line:   40,
					},
					File:   "lowestAverage_test.flux",
					Source: "t_lowestAverage = (table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   38,
						},
						File:   "lowestAverage_test.flux",
						Source: "t_lowestAverage",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_lowestAverage",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 67,
							Line:   40,
						},
						File:   "lowestAverage_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])",
						Start: ast.Position{
							Column: 19,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   38,
									},
									File:   "lowestAverage_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 33,
										Line:   38,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   39,
								},
								File:   "lowestAverage_test.flux",
								Source: "table\n    |> range(start: 2018-11-07T00:00:00Z)",
								Start: ast.Position{
									Column: 33,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   39,
										},
										File:   "lowestAverage_test.flux",
										Source: "start: 2018-11-07T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "lowestAverage_test.flux",
											Source: "start: 2018-11-07T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   39,
												},
												File:   "lowestAverage_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   39,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   39,
												},
												File:   "lowestAverage_test.flux",
												Source: "2018-11-07T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   39,
												},
											},
										},
										Value: parser.MustParseTime("2018-11-07T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   39,
									},
									File:   "lowestAverage_test.flux",
									Source: "range(start: 2018-11-07T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   39,
										},
										File:   "lowestAverage_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 67,
								Line:   40,
							},
							File:   "lowestAverage_test.flux",
							Source: "table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])",
							Start: ast.Position{
								Column: 33,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 66,
										Line:   40,
									},
									File:   "lowestAverage_test.flux",
									Source: "n: 3, groupColumns: [\"_measurement\", \"host\"]",
									Start: ast.Position{
										Column: 22,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 26,
											Line:   40,
										},
										File:   "lowestAverage_test.flux",
										Source: "n: 3",
										Start: ast.Position{
											Column: 22,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   40,
											},
											File:   "lowestAverage_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 22,
												Line:   40,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   40,
											},
											File:   "lowestAverage_test.flux",
											Source: "3",
											Start: ast.Position{
												Column: 25,
												Line:   40,
											},
										},
									},
									Value: int64(3),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 66,
											Line:   40,
										},
										File:   "lowestAverage_test.flux",
										Source: "groupColumns: [\"_measurement\", \"host\"]",
										Start: ast.Position{
											Column: 28,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   40,
											},
											File:   "lowestAverage_test.flux",
											Source: "groupColumns",
											Start: ast.Position{
												Column: 28,
												Line:   40,
											},
										},
									},
									Name: "groupColumns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   40,
											},
											File:   "lowestAverage_test.flux",
											Source: "[\"_measurement\", \"host\"]",
											Start: ast.Position{
												Column: 42,
												Line:   40,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   40,
												},
												File:   "lowestAverage_test.flux",
												Source: "\"_measurement\"",
												Start: ast.Position{
													Column: 43,
													Line:   40,
												},
											},
										},
										Value: "_measurement",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   40,
												},
												File:   "lowestAverage_test.flux",
												Source: "\"host\"",
												Start: ast.Position{
													Column: 59,
													Line:   40,
												},
											},
										},
										Value: "host",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 67,
									Line:   40,
								},
								File:   "lowestAverage_test.flux",
								Source: "lowestAverage(n: 3, groupColumns: [\"_measurement\", \"host\"])",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   40,
									},
									File:   "lowestAverage_test.flux",
									Source: "lowestAverage",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "lowestAverage",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   38,
							},
							File:   "lowestAverage_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 20,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   38,
								},
								File:   "lowestAverage_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 20,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   38,
							},
							File:   "lowestAverage_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 26,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 130,
							Line:   42,
						},
						File:   "lowestAverage_test.flux",
						Source: "_lowestAverage = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestAverage})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   42,
							},
							File:   "lowestAverage_test.flux",
							Source: "_lowestAverage",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_lowestAverage",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 130,
								Line:   42,
							},
							File:   "lowestAverage_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestAverage})",
							Start: ast.Position{
								Column: 23,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 130,
									Line:   42,
								},
								File:   "lowestAverage_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestAverage})",
								Start: ast.Position{
									Column: 29,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 129,
										Line:   42,
									},
									File:   "lowestAverage_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestAverage}",
									Start: ast.Position{
										Column: 30,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   42,
										},
										File:   "lowestAverage_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 31,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   42,
											},
											File:   "lowestAverage_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 31,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   42,
												},
												File:   "lowestAverage_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 58,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   42,
													},
													File:   "lowestAverage_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 58,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   42,
														},
														File:   "lowestAverage_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 58,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   42,
														},
														File:   "lowestAverage_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 63,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   42,
											},
											File:   "lowestAverage_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 38,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   42,
												},
												File:   "lowestAverage_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 38,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   42,
													},
													File:   "lowestAverage_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 38,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   42,
													},
													File:   "lowestAverage_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 46,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 107,
											Line:   42,
										},
										File:   "lowestAverage_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 72,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   42,
											},
											File:   "lowestAverage_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 72,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   42,
												},
												File:   "lowestAverage_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 94,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   42,
													},
													File:   "lowestAverage_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 94,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   42,
														},
														File:   "lowestAverage_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 94,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   42,
														},
														File:   "lowestAverage_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 99,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   42,
											},
											File:   "lowestAverage_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 78,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   42,
												},
												File:   "lowestAverage_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 78,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   42,
													},
													File:   "lowestAverage_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 78,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   42,
													},
													File:   "lowestAverage_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 86,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 128,
											Line:   42,
										},
										File:   "lowestAverage_test.flux",
										Source: "fn: t_lowestAverage",
										Start: ast.Position{
											Column: 109,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   42,
											},
											File:   "lowestAverage_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 109,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 128,
												Line:   42,
											},
											File:   "lowestAverage_test.flux",
											Source: "t_lowestAverage",
											Start: ast.Position{
												Column: 113,
												Line:   42,
											},
										},
									},
									Name: "t_lowestAverage",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 130,
						Line:   42,
					},
					File:   "lowestAverage_test.flux",
					Source: "test _lowestAverage = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestAverage})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "lowestAverage_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "lowestAverage_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "lowestAverage_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "lowestAverage_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "lowestAverage_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 130,
					Line:   42,
				},
				File:   "lowestCurrent_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T04:00:00Z,21,A,CC,HostA\n\"\nt_lowestCurrent = (table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])\n\ntest _lowestCurrent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestCurrent})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "lowestCurrent_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "lowestCurrent_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "lowestCurrent_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "lowestCurrent_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "lowestCurrent_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   28,
					},
					File:   "lowestCurrent_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "lowestCurrent_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   28,
						},
						File:   "lowestCurrent_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "lowestCurrent_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T04:00:00Z,21,A,CC,HostA\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   29,
						},
						File:   "lowestCurrent_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "lowestCurrent_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T04:00:00Z,21,A,CC,HostA\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   29,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T04:00:00Z,21,A,CC,HostA\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 67,
						Line:   40,
					},
					File:   "lowestCurrent_test.flux",
					Source: "t_lowestCurrent = (table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   38,
						},
						File:   "lowestCurrent_test.flux",
						Source: "t_lowestCurrent",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_lowestCurrent",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 67,
							Line:   40,
						},
						File:   "lowestCurrent_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])",
						Start: ast.Position{
							Column: 19,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   38,
									},
									File:   "lowestCurrent_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 33,
										Line:   38,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   39,
								},
								File:   "lowestCurrent_test.flux",
								Source: "table\n    |> range(start: 2018-11-07T00:00:00Z)",
								Start: ast.Position{
									Column: 33,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   39,
										},
										File:   "lowestCurrent_test.flux",
										Source: "start: 2018-11-07T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "lowestCurrent_test.flux",
											Source: "start: 2018-11-07T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   39,
												},
												File:   "lowestCurrent_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   39,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   39,
												},
												File:   "lowestCurrent_test.flux",
												Source: "2018-11-07T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   39,
												},
											},
										},
										Value: parser.MustParseTime("2018-11-07T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   39,
									},
									File:   "lowestCurrent_test.flux",
									Source: "range(start: 2018-11-07T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   39,
										},
										File:   "lowestCurrent_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 67,
								Line:   40,
							},
							File:   "lowestCurrent_test.flux",
							Source: "table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])",
							Start: ast.Position{
								Column: 33,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 66,
										Line:   40,
									},
									File:   "lowestCurrent_test.flux",
									Source: "n: 3, groupColumns: [\"_measurement\", \"host\"]",
									Start: ast.Position{
										Column: 22,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 26,
											Line:   40,
										},
										File:   "lowestCurrent_test.flux",
										Source: "n: 3",
										Start: ast.Position{
											Column: 22,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   40,
											},
											File:   "lowestCurrent_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 22,
												Line:   40,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   40,
											},
											File:   "lowestCurrent_test.flux",
											Source: "3",
											Start: ast.Position{
												Column: 25,
												Line:   40,
											},
										},
									},
									Value: int64(3),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 66,
											Line:   40,
										},
										File:   "lowestCurrent_test.flux",
										Source: "groupColumns: [\"_measurement\", \"host\"]",
										Start: ast.Position{
											Column: 28,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   40,
											},
											File:   "lowestCurrent_test.flux",
											Source: "groupColumns",
											Start: ast.Position{
												Column: 28,
												Line:   40,
											},
										},
									},
									Name: "groupColumns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   40,
											},
											File:   "lowestCurrent_test.flux",
											Source: "[\"_measurement\", \"host\"]",
											Start: ast.Position{
												Column: 42,
												Line:   40,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   40,
												},
												File:   "lowestCurrent_test.flux",
												Source: "\"_measurement\"",
												Start: ast.Position{
													Column: 43,
													Line:   40,
												},
											},
										},
										Value: "_measurement",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   40,
												},
												File:   "lowestCurrent_test.flux",
												Source: "\"host\"",
												Start: ast.Position{
													Column: 59,
													Line:   40,
												},
											},
										},
										Value: "host",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 67,
									Line:   40,
								},
								File:   "lowestCurrent_test.flux",
								Source: "lowestCurrent(n: 3, groupColumns: [\"_measurement\", \"host\"])",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   40,
									},
									File:   "lowestCurrent_test.flux",
									Source: "lowestCurrent",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "lowestCurrent",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   38,
							},
							File:   "lowestCurrent_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 20,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   38,
								},
								File:   "lowestCurrent_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 20,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   38,
							},
							File:   "lowestCurrent_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 26,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 130,
							Line:   42,
						},
						File:   "lowestCurrent_test.flux",
						Source: "_lowestCurrent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestCurrent})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   42,
							},
							File:   "lowestCurrent_test.flux",
							Source: "_lowestCurrent",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_lowestCurrent",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 130,
								Line:   42,
							},
							File:   "lowestCurrent_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestCurrent})",
							Start: ast.Position{
								Column: 23,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 130,
									Line:   42,
								},
								File:   "lowestCurrent_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestCurrent})",
								Start: ast.Position{
									Column: 29,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 129,
										Line:   42,
									},
									File:   "lowestCurrent_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestCurrent}",
									Start: ast.Position{
										Column: 30,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   42,
										},
										File:   "lowestCurrent_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 31,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   42,
											},
											File:   "lowestCurrent_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 31,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   42,
												},
												File:   "lowestCurrent_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 58,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   42,
													},
													File:   "lowestCurrent_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 58,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   42,
														},
														File:   "lowestCurrent_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 58,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   42,
														},
														File:   "lowestCurrent_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 63,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   42,
											},
											File:   "lowestCurrent_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 38,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   42,
												},
												File:   "lowestCurrent_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 38,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   42,
													},
													File:   "lowestCurrent_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 38,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   42,
													},
													File:   "lowestCurrent_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 46,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 107,
											Line:   42,
										},
										File:   "lowestCurrent_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 72,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   42,
											},
											File:   "lowestCurrent_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 72,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   42,
												},
												File:   "lowestCurrent_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 94,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   42,
													},
													File:   "lowestCurrent_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 94,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   42,
														},
														File:   "lowestCurrent_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 94,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   42,
														},
														File:   "lowestCurrent_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 99,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   42,
											},
											File:   "lowestCurrent_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 78,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   42,
												},
												File:   "lowestCurrent_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 78,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   42,
													},
													File:   "lowestCurrent_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 78,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   42,
													},
													File:   "lowestCurrent_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 86,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 128,
											Line:   42,
										},
										File:   "lowestCurrent_test.flux",
										Source: "fn: t_lowestCurrent",
										Start: ast.Position{
											Column: 109,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   42,
											},
											File:   "lowestCurrent_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 109,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 128,
												Line:   42,
											},
											File:   "lowestCurrent_test.flux",
											Source: "t_lowestCurrent",
											Start: ast.Position{
												Column: 113,
												Line:   42,
											},
										},
									},
									Name: "t_lowestCurrent",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 130,
						Line:   42,
					},
					File:   "lowestCurrent_test.flux",
					Source: "test _lowestCurrent = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestCurrent})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "lowestCurrent_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "lowestCurrent_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "lowestCurrent_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "lowestCurrent_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "lowestCurrent_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 122,
					Line:   42,
				},
				File:   "lowestMin_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T07:00:00Z,12,A,DD,HostC\n\"\nt_lowestMin = (table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestMin(n: 3, groupColumns: [\"_measurement\", \"host\"])\n\ntest _lowestMin = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestMin})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "lowestMin_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "lowestMin_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "lowestMin_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "lowestMin_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "lowestMin_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   28,
					},
					File:   "lowestMin_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "lowestMin_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   28,
						},
						File:   "lowestMin_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T01:00:00Z,20,A,BB,HostA\n,,0,2018-11-07T02:00:00Z,30,A,BB,HostA\n,,1,2018-11-07T03:00:00Z,15,A,CC,HostA\n,,1,2018-11-07T04:00:00Z,21,A,CC,HostA\n,,1,2018-11-07T05:00:00Z,33,A,CC,HostB\n,,2,2018-11-07T06:00:00Z,18,A,DD,HostC\n,,2,2018-11-07T07:00:00Z,12,A,DD,HostC\n,,2,2018-11-07T08:00:00Z,15,A,DD,HostC\n,,3,2018-11-07T09:00:00Z,25,B,CC,HostD\n,,3,2018-11-07T10:00:00Z,75,B,CC,HostD\n,,3,2018-11-07T11:00:00Z,50,B,CC,HostD\n,,4,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,4,2018-11-07T13:00:00Z,13,B,DD,HostE\n,,4,2018-11-07T14:00:00Z,27,B,DD,HostE\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "lowestMin_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T07:00:00Z,12,A,DD,HostC\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   29,
						},
						File:   "lowestMin_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "lowestMin_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T07:00:00Z,12,A,DD,HostC\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   29,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,false,false,false,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T00:00:00Z,10,A,BB,HostA\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T12:00:00Z,10,B,DD,HostD\n,,0,2018-11-07T00:00:00Z,2030-01-01T00:00:00Z,2018-11-07T07:00:00Z,12,A,DD,HostC\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 63,
						Line:   40,
					},
					File:   "lowestMin_test.flux",
					Source: "t_lowestMin = (table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestMin(n: 3, groupColumns: [\"_measurement\", \"host\"])",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   38,
						},
						File:   "lowestMin_test.flux",
						Source: "t_lowestMin",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_lowestMin",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 63,
							Line:   40,
						},
						File:   "lowestMin_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestMin(n: 3, groupColumns: [\"_measurement\", \"host\"])",
						Start: ast.Position{
							Column: 15,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   38,
									},
									File:   "lowestMin_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 29,
										Line:   38,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   39,
								},
								File:   "lowestMin_test.flux",
								Source: "table\n    |> range(start: 2018-11-07T00:00:00Z)",
								Start: ast.Position{
									Column: 29,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   39,
										},
										File:   "lowestMin_test.flux",
										Source: "start: 2018-11-07T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   39,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "lowestMin_test.flux",
											Source: "start: 2018-11-07T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   39,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   39,
												},
												File:   "lowestMin_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   39,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   39,
												},
												File:   "lowestMin_test.flux",
												Source: "2018-11-07T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   39,
												},
											},
										},
										Value: parser.MustParseTime("2018-11-07T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   39,
									},
									File:   "lowestMin_test.flux",
									Source: "range(start: 2018-11-07T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   39,
										},
										File:   "lowestMin_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 63,
								Line:   40,
							},
							File:   "lowestMin_test.flux",
							Source: "table\n    |> range(start: 2018-11-07T00:00:00Z)\n    |> lowestMin(n: 3, groupColumns: [\"_measurement\", \"host\"])",
							Start: ast.Position{
								Column: 29,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 62,
										Line:   40,
									},
									File:   "lowestMin_test.flux",
									Source: "n: 3, groupColumns: [\"_measurement\", \"host\"]",
									Start: ast.Position{
										Column: 18,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 22,
											Line:   40,
										},
										File:   "lowestMin_test.flux",
										Source: "n: 3",
										Start: ast.Position{
											Column: 18,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   40,
											},
											File:   "lowestMin_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 18,
												Line:   40,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 22,
												Line:   40,
											},
											File:   "lowestMin_test.flux",
											Source: "3",
											Start: ast.Position{
												Column: 21,
												Line:   40,
											},
										},
									},
									Value: int64(3),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   40,
										},
										File:   "lowestMin_test.flux",
										Source: "groupColumns: [\"_measurement\", \"host\"]",
										Start: ast.Position{
											Column: 24,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   40,
											},
											File:   "lowestMin_test.flux",
											Source: "groupColumns",
											Start: ast.Position{
												Column: 24,
												Line:   40,
											},
										},
									},
									Name: "groupColumns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   40,
											},
											File:   "lowestMin_test.flux",
											Source: "[\"_measurement\", \"host\"]",
											Start: ast.Position{
												Column: 38,
												Line:   40,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   40,
												},
												File:   "lowestMin_test.flux",
												Source: "\"_measurement\"",
												Start: ast.Position{
													Column: 39,
													Line:   40,
												},
											},
										},
										Value: "_measurement",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   40,
												},
												File:   "lowestMin_test.flux",
												Source: "\"host\"",
												Start: ast.Position{
													Column: 55,
													Line:   40,
												},
											},
										},
										Value: "host",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 63,
									Line:   40,
								},
								File:   "lowestMin_test.flux",
								Source: "lowestMin(n: 3, groupColumns: [\"_measurement\", \"host\"])",
								Start: ast.Position{
									Column: 8,
									Line:   40,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   40,
									},
									File:   "lowestMin_test.flux",
									Source: "lowestMin",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Name: "lowestMin",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   38,
							},
							File:   "lowestMin_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   38,
								},
								File:   "lowestMin_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   38,
							},
							File:   "lowestMin_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 122,
							Line:   42,
						},
						File:   "lowestMin_test.flux",
						Source: "_lowestMin = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestMin})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   42,
							},
							File:   "lowestMin_test.flux",
							Source: "_lowestMin",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_lowestMin",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 122,
								Line:   42,
							},
							File:   "lowestMin_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestMin})",
							Start: ast.Position{
								Column: 19,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 122,
									Line:   42,
								},
								File:   "lowestMin_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestMin})",
								Start: ast.Position{
									Column: 25,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 121,
										Line:   42,
									},
									File:   "lowestMin_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestMin}",
									Start: ast.Position{
										Column: 26,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 66,
											Line:   42,
										},
										File:   "lowestMin_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 27,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   42,
											},
											File:   "lowestMin_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 27,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   42,
												},
												File:   "lowestMin_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 54,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   42,
													},
													File:   "lowestMin_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 54,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   42,
														},
														File:   "lowestMin_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 54,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   42,
														},
														File:   "lowestMin_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 59,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   42,
											},
											File:   "lowestMin_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 34,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   42,
												},
												File:   "lowestMin_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 34,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   42,
													},
													File:   "lowestMin_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 34,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   42,
													},
													File:   "lowestMin_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 42,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   42,
										},
										File:   "lowestMin_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 68,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   42,
											},
											File:   "lowestMin_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 68,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   42,
												},
												File:   "lowestMin_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 90,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   42,
													},
													File:   "lowestMin_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 90,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 93,
															Line:   42,
														},
														File:   "lowestMin_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 90,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   42,
														},
														File:   "lowestMin_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 95,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   42,
											},
											File:   "lowestMin_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 74,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   42,
												},
												File:   "lowestMin_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 74,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   42,
													},
													File:   "lowestMin_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 74,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   42,
													},
													File:   "lowestMin_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 82,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 120,
											Line:   42,
										},
										File:   "lowestMin_test.flux",
										Source: "fn: t_lowestMin",
										Start: ast.Position{
											Column: 105,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   42,
											},
											File:   "lowestMin_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 105,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   42,
											},
											File:   "lowestMin_test.flux",
											Source: "t_lowestMin",
											Start: ast.Position{
												Column: 109,
												Line:   42,
											},
										},
									},
									Name: "t_lowestMin",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 122,
						Line:   42,
					},
					File:   "lowestMin_test.flux",
					Source: "test _lowestMin = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_lowestMin})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "lowestMin_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "lowestMin_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "lowestMin_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "lowestMin_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "lowestMin_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   31,
				},
				File:   "map_extension_with_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100.0,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101.0,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102.0,load1,system,host.local\n\"\nt_map = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> map(fn: (r) => ({r with _value: float(v: r._value)}))\n\ntest _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "map_extension_with_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "map_extension_with_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "map_extension_with_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "map_extension_with_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "map_extension_with_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   16,
					},
					File:   "map_extension_with_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "map_extension_with_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   16,
						},
						File:   "map_extension_with_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "map_extension_with_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100.0,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101.0,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102.0,load1,system,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   17,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   17,
						},
						File:   "map_extension_with_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   17,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "map_extension_with_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100.0,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101.0,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102.0,load1,system,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   17,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100.0,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101.0,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102.0,load1,system,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 61,
						Line:   29,
					},
					File:   "map_extension_with_test.flux",
					Source: "t_map = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> map(fn: (r) => ({r with _value: float(v: r._value)}))",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   26,
						},
						File:   "map_extension_with_test.flux",
						Source: "t_map",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "t_map",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 61,
							Line:   29,
						},
						File:   "map_extension_with_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> map(fn: (r) => ({r with _value: float(v: r._value)}))",
						Start: ast.Position{
							Column: 9,
							Line:   26,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 28,
											Line:   26,
										},
										File:   "map_extension_with_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 23,
											Line:   26,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   27,
									},
									File:   "map_extension_with_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
									Start: ast.Position{
										Column: 23,
										Line:   26,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   27,
											},
											File:   "map_extension_with_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   27,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   27,
												},
												File:   "map_extension_with_test.flux",
												Source: "start: 2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   27,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   27,
													},
													File:   "map_extension_with_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   27,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   27,
													},
													File:   "map_extension_with_test.flux",
													Source: "2018-05-22T00:00:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   27,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   27,
										},
										File:   "map_extension_with_test.flux",
										Source: "range(start: 2018-05-22T00:00:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   27,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   27,
											},
											File:   "map_extension_with_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   27,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   28,
								},
								File:   "map_extension_with_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 23,
									Line:   26,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   28,
										},
										File:   "map_extension_with_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   28,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   28,
											},
											File:   "map_extension_with_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 13,
												Line:   28,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   28,
												},
												File:   "map_extension_with_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 13,
													Line:   28,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   28,
												},
												File:   "map_extension_with_test.flux",
												Source: "[\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 22,
													Line:   28,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   28,
													},
													File:   "map_extension_with_test.flux",
													Source: "\"_start\"",
													Start: ast.Position{
														Column: 23,
														Line:   28,
													},
												},
											},
											Value: "_start",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   28,
													},
													File:   "map_extension_with_test.flux",
													Source: "\"_stop\"",
													Start: ast.Position{
														Column: 33,
														Line:   28,
													},
												},
											},
											Value: "_stop",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   28,
									},
									File:   "map_extension_with_test.flux",
									Source: "drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   28,
										},
										File:   "map_extension_with_test.flux",
										Source: "drop",
										Start: ast.Position{
											Column: 8,
											Line:   28,
										},
									},
								},
								Name: "drop",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 61,
								Line:   29,
							},
							File:   "map_extension_with_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> map(fn: (r) => ({r with _value: float(v: r._value)}))",
							Start: ast.Position{
								Column: 23,
								Line:   26,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 60,
										Line:   29,
									},
									File:   "map_extension_with_test.flux",
									Source: "fn: (r) => ({r with _value: float(v: r._value)})",
									Start: ast.Position{
										Column: 12,
										Line:   29,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   29,
										},
										File:   "map_extension_with_test.flux",
										Source: "fn: (r) => ({r with _value: float(v: r._value)})",
										Start: ast.Position{
											Column: 12,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   29,
											},
											File:   "map_extension_with_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 12,
												Line:   29,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   29,
											},
											File:   "map_extension_with_test.flux",
											Source: "(r) => ({r with _value: float(v: r._value)})",
											Start: ast.Position{
												Column: 16,
												Line:   29,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   29,
												},
												File:   "map_extension_with_test.flux",
												Source: "({r with _value: float(v: r._value)})",
												Start: ast.Position{
													Column: 23,
													Line:   29,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   29,
													},
													File:   "map_extension_with_test.flux",
													Source: "{r with _value: float(v: r._value)}",
													Start: ast.Position{
														Column: 24,
														Line:   29,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   29,
														},
														File:   "map_extension_with_test.flux",
														Source: "_value: float(v: r._value)",
														Start: ast.Position{
															Column: 32,
															Line:   29,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   29,
															},
															File:   "map_extension_with_test.flux",
															Source: "_value",
															Start: ast.Position{
																Column: 32,
																Line:   29,
															},
														},
													},
													Name: "_value",
												},
												Separator: nil,
												Value: &ast.CallExpression{
													Arguments: []ast.Expression{&ast.ObjectExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 57,
																	Line:   29,
																},
																File:   "map_extension_with_test.flux",
																Source: "v: r._value",
																Start: ast.Position{
																	Column: 46,
																	Line:   29,
																},
															},
														},
														Lbrace: nil,
														Properties: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 57,
																		Line:   29,
																	},
																	File:   "map_extension_with_test.flux",
																	Source: "v: r._value",
																	Start: ast.Position{
																		Column: 46,
																		Line:   29,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 47,
																			Line:   29,
																		},
																		File:   "map_extension_with_test.flux",
																		Source: "v",
																		Start: ast.Position{
																			Column: 46,
																			Line:   29,
																		},
																	},
																},
																Name: "v",
															},
															Separator: nil,
															Value: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 57,
																			Line:   29,
																		},
																		File:   "map_extension_with_test.flux",
																		Source: "r._value",
																		Start: ast.Position{
																			Column: 49,
																			Line:   29,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 50,
																				Line:   29,
																			},
																			File:   "map_extension_with_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 49,
																				Line:   29,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 57,
																				Line:   29,
																			},
																			File:   "map_extension_with_test.flux",
																			Source: "_value",
																			Start: ast.Position{
																				Column: 51,
																				Line:   29,
																			},
																		},
																	},
																	Name: "_value",
																},
																Rbrack: nil,
															},
														}},
														Rbrace: nil,
														With:   nil,
													}},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 58,
																Line:   29,
															},
															File:   "map_extension_with_test.flux",
															Source: "float(v: r._value)",
															Start: ast.Position{
																Column: 40,
																Line:   29,
															},
														},
													},
													Callee: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   29,
																},
																File:   "map_extension_with_test.flux",
																Source: "float",
																Start: ast.Position{
																	Column: 40,
																	Line:   29,
																},
															},
														},
														Name: "float",
													},
													Lparen: nil,
													Rparen: nil,
												},
											}},
											Rbrace: nil,
											With: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 26,
															Line:   29,
														},
														File:   "map_extension_with_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 25,
															Line:   29,
														},
													},
												},
												Name: "r",
											},
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   29,
												},
												File:   "map_extension_with_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 17,
													Line:   29,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   29,
													},
													File:   "map_extension_with_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   29,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 61,
									Line:   29,
								},
								File:   "map_extension_with_test.flux",
								Source: "map(fn: (r) => ({r with _value: float(v: r._value)}))",
								Start: ast.Position{
									Column: 8,
									Line:   29,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   29,
									},
									File:   "map_extension_with_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   29,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   26,
							},
							File:   "map_extension_with_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   26,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   26,
								},
								File:   "map_extension_with_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   26,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   26,
							},
							File:   "map_extension_with_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   26,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   31,
						},
						File:   "map_extension_with_test.flux",
						Source: "_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
						Start: ast.Position{
							Column: 6,
							Line:   31,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   31,
							},
							File:   "map_extension_with_test.flux",
							Source: "_map",
							Start: ast.Position{
								Column: 6,
								Line:   31,
							},
						},
					},
					Name: "_map",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   31,
							},
							File:   "map_extension_with_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
							Start: ast.Position{
								Column: 13,
								Line:   31,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   31,
								},
								File:   "map_extension_with_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
								Start: ast.Position{
									Column: 19,
									Line:   31,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   31,
									},
									File:   "map_extension_with_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map}",
									Start: ast.Position{
										Column: 20,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   31,
										},
										File:   "map_extension_with_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   31,
											},
											File:   "map_extension_with_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   31,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   31,
												},
												File:   "map_extension_with_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   31,
													},
													File:   "map_extension_with_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   31,
														},
														File:   "map_extension_with_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   31,
														},
														File:   "map_extension_with_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   31,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   31,
											},
											File:   "map_extension_with_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   31,
												},
												File:   "map_extension_with_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   31,
													},
													File:   "map_extension_with_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   31,
													},
													File:   "map_extension_with_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   31,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   31,
										},
										File:   "map_extension_with_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   31,
											},
											File:   "map_extension_with_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   31,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   31,
												},
												File:   "map_extension_with_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   31,
													},
													File:   "map_extension_with_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   31,
														},
														File:   "map_extension_with_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   31,
														},
														File:   "map_extension_with_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   31,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   31,
											},
											File:   "map_extension_with_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   31,
												},
												File:   "map_extension_with_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   31,
													},
													File:   "map_extension_with_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   31,
													},
													File:   "map_extension_with_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   31,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   31,
										},
										File:   "map_extension_with_test.flux",
										Source: "fn: t_map",
										Start: ast.Position{
											Column: 99,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   31,
											},
											File:   "map_extension_with_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   31,
											},
											File:   "map_extension_with_test.flux",
											Source: "t_map",
											Start: ast.Position{
												Column: 103,
												Line:   31,
											},
										},
									},
									Name: "t_map",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   31,
					},
					File:   "map_extension_with_test.flux",
					Source: "test _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "map_extension_with_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "map_extension_with_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_extension_with_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_extension_with_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_extension_with_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   42,
				},
				File:   "map_extern_dynamic_var_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"strings\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"\nmyVal = () => \"const\"\nt_map_extern = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            return {r with _value: myVal()}\n        },\n    )\n\ntest _map_extern = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "map_extern_dynamic_var_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "map_extern_dynamic_var_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "map_extern_dynamic_var_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "map_extern_dynamic_var_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   20,
					},
					File:   "map_extern_dynamic_var_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   20,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   32,
					},
					File:   "map_extern_dynamic_var_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   21,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   21,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   21,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   32,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   21,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   33,
					},
					File:   "map_extern_dynamic_var_test.flux",
					Source: "myVal = () => \"const\"",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   33,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "myVal",
						Start: ast.Position{
							Column: 1,
							Line:   33,
						},
					},
				},
				Name: "myVal",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   33,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "() => \"const\"",
						Start: ast.Position{
							Column: 9,
							Line:   33,
						},
					},
				},
				Body: &ast.StringLiteral{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   33,
							},
							File:   "map_extern_dynamic_var_test.flux",
							Source: "\"const\"",
							Start: ast.Position{
								Column: 15,
								Line:   33,
							},
						},
					},
					Value: "const",
				},
				Lparen: nil,
				Params: []*ast.Property{},
				Rparan: nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   40,
					},
					File:   "map_extern_dynamic_var_test.flux",
					Source: "t_map_extern = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            return {r with _value: myVal()}\n        },\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   34,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "t_map_extern",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "t_map_extern",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   40,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            return {r with _value: myVal()}\n        },\n    )",
						Start: ast.Position{
							Column: 16,
							Line:   34,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   34,
									},
									File:   "map_extern_dynamic_var_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   34,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   35,
								},
								File:   "map_extern_dynamic_var_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 30,
									Line:   34,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   35,
										},
										File:   "map_extern_dynamic_var_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   35,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   35,
											},
											File:   "map_extern_dynamic_var_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   35,
												},
												File:   "map_extern_dynamic_var_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   35,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   35,
												},
												File:   "map_extern_dynamic_var_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   35,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   35,
									},
									File:   "map_extern_dynamic_var_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   35,
										},
										File:   "map_extern_dynamic_var_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   35,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   40,
							},
							File:   "map_extern_dynamic_var_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            return {r with _value: myVal()}\n        },\n    )",
							Start: ast.Position{
								Column: 30,
								Line:   34,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   39,
									},
									File:   "map_extern_dynamic_var_test.flux",
									Source: "fn: (r) => {\n            return {r with _value: myVal()}\n        }",
									Start: ast.Position{
										Column: 9,
										Line:   37,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   39,
										},
										File:   "map_extern_dynamic_var_test.flux",
										Source: "fn: (r) => {\n            return {r with _value: myVal()}\n        }",
										Start: ast.Position{
											Column: 9,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   37,
											},
											File:   "map_extern_dynamic_var_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   37,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   39,
											},
											File:   "map_extern_dynamic_var_test.flux",
											Source: "(r) => {\n            return {r with _value: myVal()}\n        }",
											Start: ast.Position{
												Column: 13,
												Line:   37,
											},
										},
									},
									Body: &ast.Block{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 10,
													Line:   39,
												},
												File:   "map_extern_dynamic_var_test.flux",
												Source: "{\n            return {r with _value: myVal()}\n        }",
												Start: ast.Position{
													Column: 20,
													Line:   37,
												},
											},
										},
										Body: []ast.Statement{&ast.ReturnStatement{
											Argument: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   38,
														},
														File:   "map_extern_dynamic_var_test.flux",
														Source: "{r with _value: myVal()}",
														Start: ast.Position{
															Column: 20,
															Line:   38,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 43,
																Line:   38,
															},
															File:   "map_extern_dynamic_var_test.flux",
															Source: "_value: myVal()",
															Start: ast.Position{
																Column: 28,
																Line:   38,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 34,
																	Line:   38,
																},
																File:   "map_extern_dynamic_var_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 28,
																	Line:   38,
																},
															},
														},
														Name: "_value",
													},
													Separator: nil,
													Value: &ast.CallExpression{
														Arguments: nil,
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 43,
																	Line:   38,
																},
																File:   "map_extern_dynamic_var_test.flux",
																Source: "myVal()",
																Start: ast.Position{
																	Column: 36,
																	Line:   38,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 41,
																		Line:   38,
																	},
																	File:   "map_extern_dynamic_var_test.flux",
																	Source: "myVal",
																	Start: ast.Position{
																		Column: 36,
																		Line:   38,
																	},
																},
															},
															Name: "myVal",
														},
														Lparen: nil,
														Rparen: nil,
													},
												}},
												Rbrace: nil,
												With: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 22,
																Line:   38,
															},
															File:   "map_extern_dynamic_var_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 21,
																Line:   38,
															},
														},
													},
													Name: "r",
												},
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   38,
													},
													File:   "map_extern_dynamic_var_test.flux",
													Source: "return {r with _value: myVal()}",
													Start: ast.Position{
														Column: 13,
														Line:   38,
													},
												},
											},
										}},
										Lbrace: nil,
										Rbrace: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   37,
												},
												File:   "map_extern_dynamic_var_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 14,
													Line:   37,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   37,
													},
													File:   "map_extern_dynamic_var_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 14,
														Line:   37,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   40,
								},
								File:   "map_extern_dynamic_var_test.flux",
								Source: "map(\n        fn: (r) => {\n            return {r with _value: myVal()}\n        },\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   36,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   36,
									},
									File:   "map_extern_dynamic_var_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   34,
							},
							File:   "map_extern_dynamic_var_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   34,
								},
								File:   "map_extern_dynamic_var_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   34,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   34,
							},
							File:   "map_extern_dynamic_var_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   34,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   42,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "_map_extern = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   42,
							},
							File:   "map_extern_dynamic_var_test.flux",
							Source: "_map_extern",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_map_extern",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   42,
							},
							File:   "map_extern_dynamic_var_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
							Start: ast.Position{
								Column: 20,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   42,
								},
								File:   "map_extern_dynamic_var_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
								Start: ast.Position{
									Column: 26,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   42,
									},
									File:   "map_extern_dynamic_var_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern}",
									Start: ast.Position{
										Column: 27,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   42,
										},
										File:   "map_extern_dynamic_var_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   42,
											},
											File:   "map_extern_dynamic_var_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   42,
												},
												File:   "map_extern_dynamic_var_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   42,
													},
													File:   "map_extern_dynamic_var_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   42,
														},
														File:   "map_extern_dynamic_var_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   42,
														},
														File:   "map_extern_dynamic_var_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   42,
											},
											File:   "map_extern_dynamic_var_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   42,
												},
												File:   "map_extern_dynamic_var_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   42,
													},
													File:   "map_extern_dynamic_var_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   42,
													},
													File:   "map_extern_dynamic_var_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   42,
										},
										File:   "map_extern_dynamic_var_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   42,
											},
											File:   "map_extern_dynamic_var_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   42,
												},
												File:   "map_extern_dynamic_var_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   42,
													},
													File:   "map_extern_dynamic_var_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   42,
														},
														File:   "map_extern_dynamic_var_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   42,
														},
														File:   "map_extern_dynamic_var_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   42,
											},
											File:   "map_extern_dynamic_var_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   42,
												},
												File:   "map_extern_dynamic_var_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   42,
													},
													File:   "map_extern_dynamic_var_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   42,
													},
													File:   "map_extern_dynamic_var_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   42,
										},
										File:   "map_extern_dynamic_var_test.flux",
										Source: "fn: t_map_extern",
										Start: ast.Position{
											Column: 106,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   42,
											},
											File:   "map_extern_dynamic_var_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   42,
											},
											File:   "map_extern_dynamic_var_test.flux",
											Source: "t_map_extern",
											Start: ast.Position{
												Column: 110,
												Line:   42,
											},
										},
									},
									Name: "t_map_extern",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   42,
					},
					File:   "map_extern_dynamic_var_test.flux",
					Source: "test _map_extern = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "map_extern_dynamic_var_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   5,
					},
					File:   "map_extern_dynamic_var_test.flux",
					Source: "import \"strings\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   5,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "\"strings\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "strings",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_extern_dynamic_var_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_extern_dynamic_var_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_extern_dynamic_var_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   42,
				},
				File:   "map_extern_var_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"strings\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"\nmyVal = \"const\"\nt_map_extern = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            return {r with _value: myVal}\n        },\n    )\n\ntest _map_extern = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "map_extern_var_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "map_extern_var_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "map_extern_var_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "map_extern_var_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "map_extern_var_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   20,
					},
					File:   "map_extern_var_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "map_extern_var_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   20,
						},
						File:   "map_extern_var_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   32,
					},
					File:   "map_extern_var_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   21,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   21,
						},
						File:   "map_extern_var_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   21,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   32,
						},
						File:   "map_extern_var_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   21,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 16,
						Line:   33,
					},
					File:   "map_extern_var_test.flux",
					Source: "myVal = \"const\"",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   33,
						},
						File:   "map_extern_var_test.flux",
						Source: "myVal",
						Start: ast.Position{
							Column: 1,
							Line:   33,
						},
					},
				},
				Name: "myVal",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   33,
						},
						File:   "map_extern_var_test.flux",
						Source: "\"const\"",
						Start: ast.Position{
							Column: 9,
							Line:   33,
						},
					},
				},
				Value: "const",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   40,
					},
					File:   "map_extern_var_test.flux",
					Source: "t_map_extern = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            return {r with _value: myVal}\n        },\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   34,
						},
						File:   "map_extern_var_test.flux",
						Source: "t_map_extern",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "t_map_extern",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   40,
						},
						File:   "map_extern_var_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            return {r with _value: myVal}\n        },\n    )",
						Start: ast.Position{
							Column: 16,
							Line:   34,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   34,
									},
									File:   "map_extern_var_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   34,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   35,
								},
								File:   "map_extern_var_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 30,
									Line:   34,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   35,
										},
										File:   "map_extern_var_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   35,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   35,
											},
											File:   "map_extern_var_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   35,
												},
												File:   "map_extern_var_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   35,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   35,
												},
												File:   "map_extern_var_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   35,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   35,
									},
									File:   "map_extern_var_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   35,
										},
										File:   "map_extern_var_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   35,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   40,
							},
							File:   "map_extern_var_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            return {r with _value: myVal}\n        },\n    )",
							Start: ast.Position{
								Column: 30,
								Line:   34,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   39,
									},
									File:   "map_extern_var_test.flux",
									Source: "fn: (r) => {\n            return {r with _value: myVal}\n        }",
									Start: ast.Position{
										Column: 9,
										Line:   37,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   39,
										},
										File:   "map_extern_var_test.flux",
										Source: "fn: (r) => {\n            return {r with _value: myVal}\n        }",
										Start: ast.Position{
											Column: 9,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   37,
											},
											File:   "map_extern_var_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   37,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   39,
											},
											File:   "map_extern_var_test.flux",
											Source: "(r) => {\n            return {r with _value: myVal}\n        }",
											Start: ast.Position{
												Column: 13,
												Line:   37,
											},
										},
									},
									Body: &ast.Block{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 10,
													Line:   39,
												},
												File:   "map_extern_var_test.flux",
												Source: "{\n            return {r with _value: myVal}\n        }",
												Start: ast.Position{
													Column: 20,
													Line:   37,
												},
											},
										},
										Body: []ast.Statement{&ast.ReturnStatement{
											Argument: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 42,
															Line:   38,
														},
														File:   "map_extern_var_test.flux",
														Source: "{r with _value: myVal}",
														Start: ast.Position{
															Column: 20,
															Line:   38,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   38,
															},
															File:   "map_extern_var_test.flux",
															Source: "_value: myVal",
															Start: ast.Position{
																Column: 28,
																Line:   38,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 34,
																	Line:   38,
																},
																File:   "map_extern_var_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 28,
																	Line:   38,
																},
															},
														},
														Name: "_value",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 41,
																	Line:   38,
																},
																File:   "map_extern_var_test.flux",
																Source: "myVal",
																Start: ast.Position{
																	Column: 36,
																	Line:   38,
																},
															},
														},
														Name: "myVal",
													},
												}},
												Rbrace: nil,
												With: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 22,
																Line:   38,
															},
															File:   "map_extern_var_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 21,
																Line:   38,
															},
														},
													},
													Name: "r",
												},
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   38,
													},
													File:   "map_extern_var_test.flux",
													Source: "return {r with _value: myVal}",
													Start: ast.Position{
														Column: 13,
														Line:   38,
													},
												},
											},
										}},
										Lbrace: nil,
										Rbrace: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   37,
												},
												File:   "map_extern_var_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 14,
													Line:   37,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   37,
													},
													File:   "map_extern_var_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 14,
														Line:   37,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   40,
								},
								File:   "map_extern_var_test.flux",
								Source: "map(\n        fn: (r) => {\n            return {r with _value: myVal}\n        },\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   36,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   36,
									},
									File:   "map_extern_var_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   34,
							},
							File:   "map_extern_var_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   34,
								},
								File:   "map_extern_var_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   34,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   34,
							},
							File:   "map_extern_var_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   34,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   42,
						},
						File:   "map_extern_var_test.flux",
						Source: "_map_extern = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
						Start: ast.Position{
							Column: 6,
							Line:   42,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   42,
							},
							File:   "map_extern_var_test.flux",
							Source: "_map_extern",
							Start: ast.Position{
								Column: 6,
								Line:   42,
							},
						},
					},
					Name: "_map_extern",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   42,
							},
							File:   "map_extern_var_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
							Start: ast.Position{
								Column: 20,
								Line:   42,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   42,
								},
								File:   "map_extern_var_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
								Start: ast.Position{
									Column: 26,
									Line:   42,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   42,
									},
									File:   "map_extern_var_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern}",
									Start: ast.Position{
										Column: 27,
										Line:   42,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   42,
										},
										File:   "map_extern_var_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   42,
											},
											File:   "map_extern_var_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   42,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   42,
												},
												File:   "map_extern_var_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   42,
													},
													File:   "map_extern_var_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   42,
														},
														File:   "map_extern_var_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   42,
														},
														File:   "map_extern_var_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   42,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   42,
											},
											File:   "map_extern_var_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   42,
												},
												File:   "map_extern_var_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   42,
													},
													File:   "map_extern_var_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   42,
													},
													File:   "map_extern_var_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   42,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   42,
										},
										File:   "map_extern_var_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   42,
											},
											File:   "map_extern_var_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   42,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   42,
												},
												File:   "map_extern_var_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   42,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   42,
													},
													File:   "map_extern_var_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   42,
														},
														File:   "map_extern_var_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   42,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   42,
														},
														File:   "map_extern_var_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   42,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   42,
											},
											File:   "map_extern_var_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   42,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   42,
												},
												File:   "map_extern_var_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   42,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   42,
													},
													File:   "map_extern_var_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   42,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   42,
													},
													File:   "map_extern_var_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   42,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   42,
										},
										File:   "map_extern_var_test.flux",
										Source: "fn: t_map_extern",
										Start: ast.Position{
											Column: 106,
											Line:   42,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   42,
											},
											File:   "map_extern_var_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   42,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   42,
											},
											File:   "map_extern_var_test.flux",
											Source: "t_map_extern",
											Start: ast.Position{
												Column: 110,
												Line:   42,
											},
										},
									},
									Name: "t_map_extern",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   42,
					},
					File:   "map_extern_var_test.flux",
					Source: "test _map_extern = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_extern})",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "map_extern_var_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "map_extern_var_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   5,
					},
					File:   "map_extern_var_test.flux",
					Source: "import \"strings\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   5,
						},
						File:   "map_extern_var_test.flux",
						Source: "\"strings\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "strings",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_extern_var_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_extern_var_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_extern_var_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 146,
					Line:   32,
				},
				File:   "map_field_type_change_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,m,f,2018-01-01T00:00:00Z,2\n\"\noutData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,m,f,2018-01-01T00:00:00Z,hello\n\"\nt_map_field_type_change = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    // establish _value as a double column in output\n    |> map(fn: (r) => ({r with _value: 2.0}))\n    // convert to a string\n    |> map(fn: (r) => ({r with _value: \"hello\"}))\n    // previously this would produce an error\n    |> filter(fn: (r) => r._value == \"hello\")\n\ntest _map_field_type_change = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_field_type_change})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "map_field_type_change_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "map_field_type_change_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "map_field_type_change_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "map_field_type_change_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "map_field_type_change_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   14,
					},
					File:   "map_field_type_change_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,m,f,2018-01-01T00:00:00Z,2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "map_field_type_change_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   14,
						},
						File:   "map_field_type_change_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,m,f,2018-01-01T00:00:00Z,2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,m,f,2018-01-01T00:00:00Z,2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   21,
					},
					File:   "map_field_type_change_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,m,f,2018-01-01T00:00:00Z,hello\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   15,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   15,
						},
						File:   "map_field_type_change_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   15,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   21,
						},
						File:   "map_field_type_change_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,m,f,2018-01-01T00:00:00Z,hello\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   15,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,m,f,2018-01-01T00:00:00Z,hello\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 46,
						Line:   30,
					},
					File:   "map_field_type_change_test.flux",
					Source: "t_map_field_type_change = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    // establish _value as a double column in output\n    |> map(fn: (r) => ({r with _value: 2.0}))\n    // convert to a string\n    |> map(fn: (r) => ({r with _value: \"hello\"}))\n    // previously this would produce an error\n    |> filter(fn: (r) => r._value == \"hello\")",
					Start: ast.Position{
						Column: 1,
						Line:   22,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   22,
						},
						File:   "map_field_type_change_test.flux",
						Source: "t_map_field_type_change",
						Start: ast.Position{
							Column: 1,
							Line:   22,
						},
					},
				},
				Name: "t_map_field_type_change",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 46,
							Line:   30,
						},
						File:   "map_field_type_change_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    // establish _value as a double column in output\n    |> map(fn: (r) => ({r with _value: 2.0}))\n    // convert to a string\n    |> map(fn: (r) => ({r with _value: \"hello\"}))\n    // previously this would produce an error\n    |> filter(fn: (r) => r._value == \"hello\")",
						Start: ast.Position{
							Column: 27,
							Line:   22,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   22,
												},
												File:   "map_field_type_change_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 41,
													Line:   22,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   23,
											},
											File:   "map_field_type_change_test.flux",
											Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)",
											Start: ast.Position{
												Column: 41,
												Line:   22,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   23,
													},
													File:   "map_field_type_change_test.flux",
													Source: "start: 2018-01-01T00:00:00Z",
													Start: ast.Position{
														Column: 14,
														Line:   23,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   23,
														},
														File:   "map_field_type_change_test.flux",
														Source: "start: 2018-01-01T00:00:00Z",
														Start: ast.Position{
															Column: 14,
															Line:   23,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 19,
																Line:   23,
															},
															File:   "map_field_type_change_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 14,
																Line:   23,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   23,
															},
															File:   "map_field_type_change_test.flux",
															Source: "2018-01-01T00:00:00Z",
															Start: ast.Position{
																Column: 21,
																Line:   23,
															},
														},
													},
													Value: parser.MustParseTime("2018-01-01T00:00:00Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   23,
												},
												File:   "map_field_type_change_test.flux",
												Source: "range(start: 2018-01-01T00:00:00Z)",
												Start: ast.Position{
													Column: 8,
													Line:   23,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   23,
													},
													File:   "map_field_type_change_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 8,
														Line:   23,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   24,
										},
										File:   "map_field_type_change_test.flux",
										Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])",
										Start: ast.Position{
											Column: 41,
											Line:   22,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   24,
												},
												File:   "map_field_type_change_test.flux",
												Source: "columns: [\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 13,
													Line:   24,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   24,
													},
													File:   "map_field_type_change_test.flux",
													Source: "columns: [\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 13,
														Line:   24,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 20,
															Line:   24,
														},
														File:   "map_field_type_change_test.flux",
														Source: "columns",
														Start: ast.Position{
															Column: 13,
															Line:   24,
														},
													},
												},
												Name: "columns",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   24,
														},
														File:   "map_field_type_change_test.flux",
														Source: "[\"_start\", \"_stop\"]",
														Start: ast.Position{
															Column: 22,
															Line:   24,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 31,
																Line:   24,
															},
															File:   "map_field_type_change_test.flux",
															Source: "\"_start\"",
															Start: ast.Position{
																Column: 23,
																Line:   24,
															},
														},
													},
													Value: "_start",
												}, &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 40,
																Line:   24,
															},
															File:   "map_field_type_change_test.flux",
															Source: "\"_stop\"",
															Start: ast.Position{
																Column: 33,
																Line:   24,
															},
														},
													},
													Value: "_stop",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   24,
											},
											File:   "map_field_type_change_test.flux",
											Source: "drop(columns: [\"_start\", \"_stop\"])",
											Start: ast.Position{
												Column: 8,
												Line:   24,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 12,
													Line:   24,
												},
												File:   "map_field_type_change_test.flux",
												Source: "drop",
												Start: ast.Position{
													Column: 8,
													Line:   24,
												},
											},
										},
										Name: "drop",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: []ast.Comment{ast.Comment{Text: "// establish _value as a double column in output\n"}},
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   26,
									},
									File:   "map_field_type_change_test.flux",
									Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    // establish _value as a double column in output\n    |> map(fn: (r) => ({r with _value: 2.0}))",
									Start: ast.Position{
										Column: 41,
										Line:   22,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   26,
											},
											File:   "map_field_type_change_test.flux",
											Source: "fn: (r) => ({r with _value: 2.0})",
											Start: ast.Position{
												Column: 12,
												Line:   26,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   26,
												},
												File:   "map_field_type_change_test.flux",
												Source: "fn: (r) => ({r with _value: 2.0})",
												Start: ast.Position{
													Column: 12,
													Line:   26,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 14,
														Line:   26,
													},
													File:   "map_field_type_change_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 12,
														Line:   26,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   26,
													},
													File:   "map_field_type_change_test.flux",
													Source: "(r) => ({r with _value: 2.0})",
													Start: ast.Position{
														Column: 16,
														Line:   26,
													},
												},
											},
											Body: &ast.ParenExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   26,
														},
														File:   "map_field_type_change_test.flux",
														Source: "({r with _value: 2.0})",
														Start: ast.Position{
															Column: 23,
															Line:   26,
														},
													},
												},
												Expression: &ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 44,
																Line:   26,
															},
															File:   "map_field_type_change_test.flux",
															Source: "{r with _value: 2.0}",
															Start: ast.Position{
																Column: 24,
																Line:   26,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 43,
																	Line:   26,
																},
																File:   "map_field_type_change_test.flux",
																Source: "_value: 2.0",
																Start: ast.Position{
																	Column: 32,
																	Line:   26,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 38,
																		Line:   26,
																	},
																	File:   "map_field_type_change_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 32,
																		Line:   26,
																	},
																},
															},
															Name: "_value",
														},
														Separator: nil,
														Value: &ast.FloatLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 43,
																		Line:   26,
																	},
																	File:   "map_field_type_change_test.flux",
																	Source: "2.0",
																	Start: ast.Position{
																		Column: 40,
																		Line:   26,
																	},
																},
															},
															Value: 2.0,
														},
													}},
													Rbrace: nil,
													With: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 26,
																	Line:   26,
																},
																File:   "map_field_type_change_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 25,
																	Line:   26,
																},
															},
														},
														Name: "r",
													},
												},
												Lparen: nil,
												Rparen: nil,
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   26,
														},
														File:   "map_field_type_change_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 17,
															Line:   26,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 18,
																Line:   26,
															},
															File:   "map_field_type_change_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 17,
																Line:   26,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   26,
										},
										File:   "map_field_type_change_test.flux",
										Source: "map(fn: (r) => ({r with _value: 2.0}))",
										Start: ast.Position{
											Column: 8,
											Line:   26,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   26,
											},
											File:   "map_field_type_change_test.flux",
											Source: "map",
											Start: ast.Position{
												Column: 8,
												Line:   26,
											},
										},
									},
									Name: "map",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: []ast.Comment{ast.Comment{Text: "// convert to a string\n"}},
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 50,
									Line:   28,
								},
								File:   "map_field_type_change_test.flux",
								Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    // establish _value as a double column in output\n    |> map(fn: (r) => ({r with _value: 2.0}))\n    // convert to a string\n    |> map(fn: (r) => ({r with _value: \"hello\"}))",
								Start: ast.Position{
									Column: 41,
									Line:   22,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   28,
										},
										File:   "map_field_type_change_test.flux",
										Source: "fn: (r) => ({r with _value: \"hello\"})",
										Start: ast.Position{
											Column: 12,
											Line:   28,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   28,
											},
											File:   "map_field_type_change_test.flux",
											Source: "fn: (r) => ({r with _value: \"hello\"})",
											Start: ast.Position{
												Column: 12,
												Line:   28,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   28,
												},
												File:   "map_field_type_change_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 12,
													Line:   28,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   28,
												},
												File:   "map_field_type_change_test.flux",
												Source: "(r) => ({r with _value: \"hello\"})",
												Start: ast.Position{
													Column: 16,
													Line:   28,
												},
											},
										},
										Body: &ast.ParenExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   28,
													},
													File:   "map_field_type_change_test.flux",
													Source: "({r with _value: \"hello\"})",
													Start: ast.Position{
														Column: 23,
														Line:   28,
													},
												},
											},
											Expression: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 48,
															Line:   28,
														},
														File:   "map_field_type_change_test.flux",
														Source: "{r with _value: \"hello\"}",
														Start: ast.Position{
															Column: 24,
															Line:   28,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   28,
															},
															File:   "map_field_type_change_test.flux",
															Source: "_value: \"hello\"",
															Start: ast.Position{
																Column: 32,
																Line:   28,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   28,
																},
																File:   "map_field_type_change_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 32,
																	Line:   28,
																},
															},
														},
														Name: "_value",
													},
													Separator: nil,
													Value: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   28,
																},
																File:   "map_field_type_change_test.flux",
																Source: "\"hello\"",
																Start: ast.Position{
																	Column: 40,
																	Line:   28,
																},
															},
														},
														Value: "hello",
													},
												}},
												Rbrace: nil,
												With: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   28,
															},
															File:   "map_field_type_change_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 25,
																Line:   28,
															},
														},
													},
													Name: "r",
												},
											},
											Lparen: nil,
											Rparen: nil,
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   28,
													},
													File:   "map_field_type_change_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   28,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   28,
														},
														File:   "map_field_type_change_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 17,
															Line:   28,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 50,
										Line:   28,
									},
									File:   "map_field_type_change_test.flux",
									Source: "map(fn: (r) => ({r with _value: \"hello\"}))",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   28,
										},
										File:   "map_field_type_change_test.flux",
										Source: "map",
										Start: ast.Position{
											Column: 8,
											Line:   28,
										},
									},
								},
								Name: "map",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: []ast.Comment{ast.Comment{Text: "// previously this would produce an error\n"}},
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 46,
								Line:   30,
							},
							File:   "map_field_type_change_test.flux",
							Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    // establish _value as a double column in output\n    |> map(fn: (r) => ({r with _value: 2.0}))\n    // convert to a string\n    |> map(fn: (r) => ({r with _value: \"hello\"}))\n    // previously this would produce an error\n    |> filter(fn: (r) => r._value == \"hello\")",
							Start: ast.Position{
								Column: 41,
								Line:   22,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   30,
									},
									File:   "map_field_type_change_test.flux",
									Source: "fn: (r) => r._value == \"hello\"",
									Start: ast.Position{
										Column: 15,
										Line:   30,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   30,
										},
										File:   "map_field_type_change_test.flux",
										Source: "fn: (r) => r._value == \"hello\"",
										Start: ast.Position{
											Column: 15,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   30,
											},
											File:   "map_field_type_change_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   30,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   30,
											},
											File:   "map_field_type_change_test.flux",
											Source: "(r) => r._value == \"hello\"",
											Start: ast.Position{
												Column: 19,
												Line:   30,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   30,
												},
												File:   "map_field_type_change_test.flux",
												Source: "r._value == \"hello\"",
												Start: ast.Position{
													Column: 26,
													Line:   30,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   30,
													},
													File:   "map_field_type_change_test.flux",
													Source: "r._value",
													Start: ast.Position{
														Column: 26,
														Line:   30,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   30,
														},
														File:   "map_field_type_change_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   30,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   30,
														},
														File:   "map_field_type_change_test.flux",
														Source: "_value",
														Start: ast.Position{
															Column: 28,
															Line:   30,
														},
													},
												},
												Name: "_value",
											},
											Rbrack: nil,
										},
										Operator: 17,
										Right: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   30,
													},
													File:   "map_field_type_change_test.flux",
													Source: "\"hello\"",
													Start: ast.Position{
														Column: 38,
														Line:   30,
													},
												},
											},
											Value: "hello",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   30,
												},
												File:   "map_field_type_change_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   30,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   30,
													},
													File:   "map_field_type_change_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   30,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   30,
								},
								File:   "map_field_type_change_test.flux",
								Source: "filter(fn: (r) => r._value == \"hello\")",
								Start: ast.Position{
									Column: 8,
									Line:   30,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   30,
									},
									File:   "map_field_type_change_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   30,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   22,
							},
							File:   "map_field_type_change_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 28,
								Line:   22,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   22,
								},
								File:   "map_field_type_change_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 28,
									Line:   22,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   22,
							},
							File:   "map_field_type_change_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 34,
								Line:   22,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 146,
							Line:   32,
						},
						File:   "map_field_type_change_test.flux",
						Source: "_map_field_type_change = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_field_type_change})",
						Start: ast.Position{
							Column: 6,
							Line:   32,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   32,
							},
							File:   "map_field_type_change_test.flux",
							Source: "_map_field_type_change",
							Start: ast.Position{
								Column: 6,
								Line:   32,
							},
						},
					},
					Name: "_map_field_type_change",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 146,
								Line:   32,
							},
							File:   "map_field_type_change_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_field_type_change})",
							Start: ast.Position{
								Column: 31,
								Line:   32,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 146,
									Line:   32,
								},
								File:   "map_field_type_change_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_field_type_change})",
								Start: ast.Position{
									Column: 37,
									Line:   32,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 145,
										Line:   32,
									},
									File:   "map_field_type_change_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_field_type_change}",
									Start: ast.Position{
										Column: 38,
										Line:   32,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 78,
											Line:   32,
										},
										File:   "map_field_type_change_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 39,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   32,
											},
											File:   "map_field_type_change_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 39,
												Line:   32,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 77,
													Line:   32,
												},
												File:   "map_field_type_change_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 66,
													Line:   32,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   32,
													},
													File:   "map_field_type_change_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 66,
														Line:   32,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   32,
														},
														File:   "map_field_type_change_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 66,
															Line:   32,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 77,
															Line:   32,
														},
														File:   "map_field_type_change_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 71,
															Line:   32,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   32,
											},
											File:   "map_field_type_change_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 46,
												Line:   32,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   32,
												},
												File:   "map_field_type_change_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 46,
													Line:   32,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   32,
													},
													File:   "map_field_type_change_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 46,
														Line:   32,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   32,
													},
													File:   "map_field_type_change_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 54,
														Line:   32,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 115,
											Line:   32,
										},
										File:   "map_field_type_change_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 80,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 84,
												Line:   32,
											},
											File:   "map_field_type_change_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 80,
												Line:   32,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 114,
													Line:   32,
												},
												File:   "map_field_type_change_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 102,
													Line:   32,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 114,
														Line:   32,
													},
													File:   "map_field_type_change_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 102,
														Line:   32,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   32,
														},
														File:   "map_field_type_change_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 102,
															Line:   32,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 114,
															Line:   32,
														},
														File:   "map_field_type_change_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 107,
															Line:   32,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   32,
											},
											File:   "map_field_type_change_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 86,
												Line:   32,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 101,
													Line:   32,
												},
												File:   "map_field_type_change_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 86,
													Line:   32,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   32,
													},
													File:   "map_field_type_change_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 86,
														Line:   32,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 101,
														Line:   32,
													},
													File:   "map_field_type_change_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 94,
														Line:   32,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 144,
											Line:   32,
										},
										File:   "map_field_type_change_test.flux",
										Source: "fn: t_map_field_type_change",
										Start: ast.Position{
											Column: 117,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 119,
												Line:   32,
											},
											File:   "map_field_type_change_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 117,
												Line:   32,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 144,
												Line:   32,
											},
											File:   "map_field_type_change_test.flux",
											Source: "t_map_field_type_change",
											Start: ast.Position{
												Column: 121,
												Line:   32,
											},
										},
									},
									Name: "t_map_field_type_change",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 146,
						Line:   32,
					},
					File:   "map_field_type_change_test.flux",
					Source: "test _map_field_type_change = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_field_type_change})",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "map_field_type_change_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "map_field_type_change_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_field_type_change_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_field_type_change_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_field_type_change_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 122,
					Line:   43,
				},
				File:   "map_local_var_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"strings\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"\nt_map_local = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )\n\ntest _map_local = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_local})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "map_local_var_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "map_local_var_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "map_local_var_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "map_local_var_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "map_local_var_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   20,
					},
					File:   "map_local_var_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "map_local_var_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   20,
						},
						File:   "map_local_var_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   32,
					},
					File:   "map_local_var_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   21,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   21,
						},
						File:   "map_local_var_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   21,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   32,
						},
						File:   "map_local_var_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   21,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   41,
					},
					File:   "map_local_var_test.flux",
					Source: "t_map_local = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   33,
						},
						File:   "map_local_var_test.flux",
						Source: "t_map_local",
						Start: ast.Position{
							Column: 1,
							Line:   33,
						},
					},
				},
				Name: "t_map_local",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   41,
						},
						File:   "map_local_var_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )",
						Start: ast.Position{
							Column: 15,
							Line:   33,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   33,
									},
									File:   "map_local_var_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 29,
										Line:   33,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   34,
								},
								File:   "map_local_var_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 29,
									Line:   33,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   34,
										},
										File:   "map_local_var_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   34,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   34,
											},
											File:   "map_local_var_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   34,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   34,
												},
												File:   "map_local_var_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   34,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   34,
												},
												File:   "map_local_var_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   34,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   34,
									},
									File:   "map_local_var_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   34,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   34,
										},
										File:   "map_local_var_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   34,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   41,
							},
							File:   "map_local_var_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )",
							Start: ast.Position{
								Column: 29,
								Line:   33,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   40,
									},
									File:   "map_local_var_test.flux",
									Source: "fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        }",
									Start: ast.Position{
										Column: 9,
										Line:   36,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   40,
										},
										File:   "map_local_var_test.flux",
										Source: "fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        }",
										Start: ast.Position{
											Column: 9,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   36,
											},
											File:   "map_local_var_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   36,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   40,
											},
											File:   "map_local_var_test.flux",
											Source: "(r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        }",
											Start: ast.Position{
												Column: 13,
												Line:   36,
											},
										},
									},
									Body: &ast.Block{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 10,
													Line:   40,
												},
												File:   "map_local_var_test.flux",
												Source: "{\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        }",
												Start: ast.Position{
													Column: 20,
													Line:   36,
												},
											},
										},
										Body: []ast.Statement{&ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   37,
													},
													File:   "map_local_var_test.flux",
													Source: "myVal = \"const\"",
													Start: ast.Position{
														Column: 13,
														Line:   37,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   37,
														},
														File:   "map_local_var_test.flux",
														Source: "myVal",
														Start: ast.Position{
															Column: 13,
															Line:   37,
														},
													},
												},
												Name: "myVal",
											},
											Init: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   37,
														},
														File:   "map_local_var_test.flux",
														Source: "\"const\"",
														Start: ast.Position{
															Column: 21,
															Line:   37,
														},
													},
												},
												Value: "const",
											},
										}, &ast.ReturnStatement{
											Argument: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 42,
															Line:   39,
														},
														File:   "map_local_var_test.flux",
														Source: "{r with _value: myVal}",
														Start: ast.Position{
															Column: 20,
															Line:   39,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   39,
															},
															File:   "map_local_var_test.flux",
															Source: "_value: myVal",
															Start: ast.Position{
																Column: 28,
																Line:   39,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 34,
																	Line:   39,
																},
																File:   "map_local_var_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 28,
																	Line:   39,
																},
															},
														},
														Name: "_value",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 41,
																	Line:   39,
																},
																File:   "map_local_var_test.flux",
																Source: "myVal",
																Start: ast.Position{
																	Column: 36,
																	Line:   39,
																},
															},
														},
														Name: "myVal",
													},
												}},
												Rbrace: nil,
												With: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 22,
																Line:   39,
															},
															File:   "map_local_var_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 21,
																Line:   39,
															},
														},
													},
													Name: "r",
												},
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   39,
													},
													File:   "map_local_var_test.flux",
													Source: "return {r with _value: myVal}",
													Start: ast.Position{
														Column: 13,
														Line:   39,
													},
												},
											},
										}},
										Lbrace: nil,
										Rbrace: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   36,
												},
												File:   "map_local_var_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 14,
													Line:   36,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   36,
													},
													File:   "map_local_var_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 14,
														Line:   36,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   41,
								},
								File:   "map_local_var_test.flux",
								Source: "map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   35,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   35,
									},
									File:   "map_local_var_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   33,
							},
							File:   "map_local_var_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 16,
								Line:   33,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 21,
									Line:   33,
								},
								File:   "map_local_var_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 16,
									Line:   33,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   33,
							},
							File:   "map_local_var_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 22,
								Line:   33,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 122,
							Line:   43,
						},
						File:   "map_local_var_test.flux",
						Source: "_map_local = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_local})",
						Start: ast.Position{
							Column: 6,
							Line:   43,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   43,
							},
							File:   "map_local_var_test.flux",
							Source: "_map_local",
							Start: ast.Position{
								Column: 6,
								Line:   43,
							},
						},
					},
					Name: "_map_local",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 122,
								Line:   43,
							},
							File:   "map_local_var_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_local})",
							Start: ast.Position{
								Column: 19,
								Line:   43,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 122,
									Line:   43,
								},
								File:   "map_local_var_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_local})",
								Start: ast.Position{
									Column: 25,
									Line:   43,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 121,
										Line:   43,
									},
									File:   "map_local_var_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_local}",
									Start: ast.Position{
										Column: 26,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 66,
											Line:   43,
										},
										File:   "map_local_var_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 27,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   43,
											},
											File:   "map_local_var_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 27,
												Line:   43,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   43,
												},
												File:   "map_local_var_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 54,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   43,
													},
													File:   "map_local_var_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 54,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   43,
														},
														File:   "map_local_var_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 54,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   43,
														},
														File:   "map_local_var_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 59,
															Line:   43,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   43,
											},
											File:   "map_local_var_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 34,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   43,
												},
												File:   "map_local_var_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 34,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   43,
													},
													File:   "map_local_var_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 34,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   43,
													},
													File:   "map_local_var_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 42,
														Line:   43,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   43,
										},
										File:   "map_local_var_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 68,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   43,
											},
											File:   "map_local_var_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 68,
												Line:   43,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   43,
												},
												File:   "map_local_var_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 90,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   43,
													},
													File:   "map_local_var_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 90,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 93,
															Line:   43,
														},
														File:   "map_local_var_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 90,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   43,
														},
														File:   "map_local_var_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 95,
															Line:   43,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   43,
											},
											File:   "map_local_var_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 74,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   43,
												},
												File:   "map_local_var_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 74,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   43,
													},
													File:   "map_local_var_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 74,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   43,
													},
													File:   "map_local_var_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 82,
														Line:   43,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 120,
											Line:   43,
										},
										File:   "map_local_var_test.flux",
										Source: "fn: t_map_local",
										Start: ast.Position{
											Column: 105,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   43,
											},
											File:   "map_local_var_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 105,
												Line:   43,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   43,
											},
											File:   "map_local_var_test.flux",
											Source: "t_map_local",
											Start: ast.Position{
												Column: 109,
												Line:   43,
											},
										},
									},
									Name: "t_map_local",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 122,
						Line:   43,
					},
					File:   "map_local_var_test.flux",
					Source: "test _map_local = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map_local})",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "map_local_var_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "map_local_var_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   5,
					},
					File:   "map_local_var_test.flux",
					Source: "import \"strings\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   5,
						},
						File:   "map_local_var_test.flux",
						Source: "\"strings\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "strings",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_local_var_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_local_var_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_local_var_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   33,
				},
				File:   "map_nulls_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,long,string\n#group,false,false,false,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:26Z,a,1,aa\n,,0,2018-05-22T19:53:36Z,a,1,aa\n,,0,2018-05-22T19:53:46Z,a,1,aa\n,,1,2018-05-22T19:53:36Z,b,1,aa\n,,1,2018-05-22T19:53:46Z,b,1,aa\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,long\n#group,false,false,false,false\n#default,0,,,\n,result,table,_time,_value\n,,0,2018-05-22T19:53:26Z,\n,,0,2018-05-22T19:53:36Z,1\n,,0,2018-05-22T19:53:46Z,1\n\"\nt_pivot = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> map(fn: (r) => ({_time: r._time, _value: r.a / r.b}))\n\ntest _pivot = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "map_nulls_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "map_nulls_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "map_nulls_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "map_nulls_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "map_nulls_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   18,
					},
					File:   "map_nulls_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,long,string\n#group,false,false,false,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:26Z,a,1,aa\n,,0,2018-05-22T19:53:36Z,a,1,aa\n,,0,2018-05-22T19:53:46Z,a,1,aa\n,,1,2018-05-22T19:53:36Z,b,1,aa\n,,1,2018-05-22T19:53:46Z,b,1,aa\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "map_nulls_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   18,
						},
						File:   "map_nulls_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,long,string\n#group,false,false,false,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:26Z,a,1,aa\n,,0,2018-05-22T19:53:36Z,a,1,aa\n,,0,2018-05-22T19:53:46Z,a,1,aa\n,,1,2018-05-22T19:53:36Z,b,1,aa\n,,1,2018-05-22T19:53:46Z,b,1,aa\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,long,string\n#group,false,false,false,true,false,true\n#default,_result,,,,,\n,result,table,_time,_field,_value,_measurement\n,,0,2018-05-22T19:53:26Z,a,1,aa\n,,0,2018-05-22T19:53:36Z,a,1,aa\n,,0,2018-05-22T19:53:46Z,a,1,aa\n,,1,2018-05-22T19:53:36Z,b,1,aa\n,,1,2018-05-22T19:53:46Z,b,1,aa\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   27,
					},
					File:   "map_nulls_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,long\n#group,false,false,false,false\n#default,0,,,\n,result,table,_time,_value\n,,0,2018-05-22T19:53:26Z,\n,,0,2018-05-22T19:53:36Z,1\n,,0,2018-05-22T19:53:46Z,1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   19,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   19,
						},
						File:   "map_nulls_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   19,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   27,
						},
						File:   "map_nulls_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long\n#group,false,false,false,false\n#default,0,,,\n,result,table,_time,_value\n,,0,2018-05-22T19:53:26Z,\n,,0,2018-05-22T19:53:36Z,1\n,,0,2018-05-22T19:53:46Z,1\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   19,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long\n#group,false,false,false,false\n#default,0,,,\n,result,table,_time,_value\n,,0,2018-05-22T19:53:26Z,\n,,0,2018-05-22T19:53:36Z,1\n,,0,2018-05-22T19:53:46Z,1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 61,
						Line:   31,
					},
					File:   "map_nulls_test.flux",
					Source: "t_pivot = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> map(fn: (r) => ({_time: r._time, _value: r.a / r.b}))",
					Start: ast.Position{
						Column: 1,
						Line:   28,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   28,
						},
						File:   "map_nulls_test.flux",
						Source: "t_pivot",
						Start: ast.Position{
							Column: 1,
							Line:   28,
						},
					},
				},
				Name: "t_pivot",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 61,
							Line:   31,
						},
						File:   "map_nulls_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> map(fn: (r) => ({_time: r._time, _value: r.a / r.b}))",
						Start: ast.Position{
							Column: 11,
							Line:   28,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 30,
											Line:   28,
										},
										File:   "map_nulls_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 25,
											Line:   28,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   29,
									},
									File:   "map_nulls_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 25,
										Line:   28,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   29,
											},
											File:   "map_nulls_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   29,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   29,
												},
												File:   "map_nulls_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   29,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   29,
													},
													File:   "map_nulls_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   29,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   29,
													},
													File:   "map_nulls_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   29,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   29,
										},
										File:   "map_nulls_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   29,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   29,
											},
											File:   "map_nulls_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   29,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 78,
									Line:   30,
								},
								File:   "map_nulls_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
								Start: ast.Position{
									Column: 25,
									Line:   28,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 77,
											Line:   30,
										},
										File:   "map_nulls_test.flux",
										Source: "rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\"",
										Start: ast.Position{
											Column: 14,
											Line:   30,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   30,
											},
											File:   "map_nulls_test.flux",
											Source: "rowKey: [\"_time\"]",
											Start: ast.Position{
												Column: 14,
												Line:   30,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   30,
												},
												File:   "map_nulls_test.flux",
												Source: "rowKey",
												Start: ast.Position{
													Column: 14,
													Line:   30,
												},
											},
										},
										Name: "rowKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   30,
												},
												File:   "map_nulls_test.flux",
												Source: "[\"_time\"]",
												Start: ast.Position{
													Column: 22,
													Line:   30,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   30,
													},
													File:   "map_nulls_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 23,
														Line:   30,
													},
												},
											},
											Value: "_time",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 54,
												Line:   30,
											},
											File:   "map_nulls_test.flux",
											Source: "columnKey: [\"_field\"]",
											Start: ast.Position{
												Column: 33,
												Line:   30,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   30,
												},
												File:   "map_nulls_test.flux",
												Source: "columnKey",
												Start: ast.Position{
													Column: 33,
													Line:   30,
												},
											},
										},
										Name: "columnKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   30,
												},
												File:   "map_nulls_test.flux",
												Source: "[\"_field\"]",
												Start: ast.Position{
													Column: 44,
													Line:   30,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   30,
													},
													File:   "map_nulls_test.flux",
													Source: "\"_field\"",
													Start: ast.Position{
														Column: 45,
														Line:   30,
													},
												},
											},
											Value: "_field",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   30,
											},
											File:   "map_nulls_test.flux",
											Source: "valueColumn: \"_value\"",
											Start: ast.Position{
												Column: 56,
												Line:   30,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   30,
												},
												File:   "map_nulls_test.flux",
												Source: "valueColumn",
												Start: ast.Position{
													Column: 56,
													Line:   30,
												},
											},
										},
										Name: "valueColumn",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 77,
													Line:   30,
												},
												File:   "map_nulls_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 69,
													Line:   30,
												},
											},
										},
										Value: "_value",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 78,
										Line:   30,
									},
									File:   "map_nulls_test.flux",
									Source: "pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
									Start: ast.Position{
										Column: 8,
										Line:   30,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   30,
										},
										File:   "map_nulls_test.flux",
										Source: "pivot",
										Start: ast.Position{
											Column: 8,
											Line:   30,
										},
									},
								},
								Name: "pivot",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 61,
								Line:   31,
							},
							File:   "map_nulls_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> map(fn: (r) => ({_time: r._time, _value: r.a / r.b}))",
							Start: ast.Position{
								Column: 25,
								Line:   28,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 60,
										Line:   31,
									},
									File:   "map_nulls_test.flux",
									Source: "fn: (r) => ({_time: r._time, _value: r.a / r.b})",
									Start: ast.Position{
										Column: 12,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   31,
										},
										File:   "map_nulls_test.flux",
										Source: "fn: (r) => ({_time: r._time, _value: r.a / r.b})",
										Start: ast.Position{
											Column: 12,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   31,
											},
											File:   "map_nulls_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 12,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   31,
											},
											File:   "map_nulls_test.flux",
											Source: "(r) => ({_time: r._time, _value: r.a / r.b})",
											Start: ast.Position{
												Column: 16,
												Line:   31,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   31,
												},
												File:   "map_nulls_test.flux",
												Source: "({_time: r._time, _value: r.a / r.b})",
												Start: ast.Position{
													Column: 23,
													Line:   31,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   31,
													},
													File:   "map_nulls_test.flux",
													Source: "{_time: r._time, _value: r.a / r.b}",
													Start: ast.Position{
														Column: 24,
														Line:   31,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   31,
														},
														File:   "map_nulls_test.flux",
														Source: "_time: r._time",
														Start: ast.Position{
															Column: 25,
															Line:   31,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 30,
																Line:   31,
															},
															File:   "map_nulls_test.flux",
															Source: "_time",
															Start: ast.Position{
																Column: 25,
																Line:   31,
															},
														},
													},
													Name: "_time",
												},
												Separator: nil,
												Value: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 39,
																Line:   31,
															},
															File:   "map_nulls_test.flux",
															Source: "r._time",
															Start: ast.Position{
																Column: 32,
																Line:   31,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   31,
																},
																File:   "map_nulls_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 32,
																	Line:   31,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 39,
																	Line:   31,
																},
																File:   "map_nulls_test.flux",
																Source: "_time",
																Start: ast.Position{
																	Column: 34,
																	Line:   31,
																},
															},
														},
														Name: "_time",
													},
													Rbrack: nil,
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   31,
														},
														File:   "map_nulls_test.flux",
														Source: "_value: r.a / r.b",
														Start: ast.Position{
															Column: 41,
															Line:   31,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   31,
															},
															File:   "map_nulls_test.flux",
															Source: "_value",
															Start: ast.Position{
																Column: 41,
																Line:   31,
															},
														},
													},
													Name: "_value",
												},
												Separator: nil,
												Value: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 58,
																Line:   31,
															},
															File:   "map_nulls_test.flux",
															Source: "r.a / r.b",
															Start: ast.Position{
																Column: 49,
																Line:   31,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 52,
																	Line:   31,
																},
																File:   "map_nulls_test.flux",
																Source: "r.a",
																Start: ast.Position{
																	Column: 49,
																	Line:   31,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 50,
																		Line:   31,
																	},
																	File:   "map_nulls_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 49,
																		Line:   31,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 52,
																		Line:   31,
																	},
																	File:   "map_nulls_test.flux",
																	Source: "a",
																	Start: ast.Position{
																		Column: 51,
																		Line:   31,
																	},
																},
															},
															Name: "a",
														},
														Rbrack: nil,
													},
													Operator: 2,
													Right: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 58,
																	Line:   31,
																},
																File:   "map_nulls_test.flux",
																Source: "r.b",
																Start: ast.Position{
																	Column: 55,
																	Line:   31,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 56,
																		Line:   31,
																	},
																	File:   "map_nulls_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 55,
																		Line:   31,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 58,
																		Line:   31,
																	},
																	File:   "map_nulls_test.flux",
																	Source: "b",
																	Start: ast.Position{
																		Column: 57,
																		Line:   31,
																	},
																},
															},
															Name: "b",
														},
														Rbrack: nil,
													},
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   31,
												},
												File:   "map_nulls_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 17,
													Line:   31,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   31,
													},
													File:   "map_nulls_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   31,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 61,
									Line:   31,
								},
								File:   "map_nulls_test.flux",
								Source: "map(fn: (r) => ({_time: r._time, _value: r.a / r.b}))",
								Start: ast.Position{
									Column: 8,
									Line:   31,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   31,
									},
									File:   "map_nulls_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   28,
							},
							File:   "map_nulls_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   28,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   28,
								},
								File:   "map_nulls_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   28,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   28,
							},
							File:   "map_nulls_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   28,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   33,
						},
						File:   "map_nulls_test.flux",
						Source: "_pivot = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
						Start: ast.Position{
							Column: 6,
							Line:   33,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   33,
							},
							File:   "map_nulls_test.flux",
							Source: "_pivot",
							Start: ast.Position{
								Column: 6,
								Line:   33,
							},
						},
					},
					Name: "_pivot",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   33,
							},
							File:   "map_nulls_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
							Start: ast.Position{
								Column: 15,
								Line:   33,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   33,
								},
								File:   "map_nulls_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
								Start: ast.Position{
									Column: 21,
									Line:   33,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   33,
									},
									File:   "map_nulls_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot}",
									Start: ast.Position{
										Column: 22,
										Line:   33,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   33,
										},
										File:   "map_nulls_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   33,
											},
											File:   "map_nulls_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   33,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   33,
												},
												File:   "map_nulls_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   33,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   33,
													},
													File:   "map_nulls_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   33,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   33,
														},
														File:   "map_nulls_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   33,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   33,
														},
														File:   "map_nulls_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   33,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   33,
											},
											File:   "map_nulls_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   33,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   33,
												},
												File:   "map_nulls_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   33,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   33,
													},
													File:   "map_nulls_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   33,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   33,
													},
													File:   "map_nulls_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   33,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   33,
										},
										File:   "map_nulls_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   33,
											},
											File:   "map_nulls_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   33,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   33,
												},
												File:   "map_nulls_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   33,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   33,
													},
													File:   "map_nulls_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   33,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   33,
														},
														File:   "map_nulls_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   33,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   33,
														},
														File:   "map_nulls_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   33,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   33,
											},
											File:   "map_nulls_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   33,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   33,
												},
												File:   "map_nulls_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   33,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   33,
													},
													File:   "map_nulls_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   33,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   33,
													},
													File:   "map_nulls_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   33,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   33,
										},
										File:   "map_nulls_test.flux",
										Source: "fn: t_pivot",
										Start: ast.Position{
											Column: 101,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   33,
											},
											File:   "map_nulls_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   33,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   33,
											},
											File:   "map_nulls_test.flux",
											Source: "t_pivot",
											Start: ast.Position{
												Column: 105,
												Line:   33,
											},
										},
									},
									Name: "t_pivot",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   33,
					},
					File:   "map_nulls_test.flux",
					Source: "test _pivot = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "map_nulls_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "map_nulls_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_nulls_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_nulls_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_nulls_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   33,
				},
				File:   "map_polymorphism_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,49,load1,system\n,,0,2018-05-22T19:53:36Z,50,load1,system\n,,0,2018-05-22T19:53:46Z,51,load1,system\n\"\noutData = \"\n#datatype,string,long,string\n#group,false,false,false\n#default,_result,,\n,result,table,out\n,,0,Y\n,,0,N\n,,0,N\n\"\nf = (r) => r._value < 50\n\n// test that map can call polymorphic functions\nt_map = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:16Z)\n    |> map(fn: (r) => ({out: if f(r: r) then \"Y\" else \"N\"}))\n\ntest _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "map_polymorphism_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "map_polymorphism_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "map_polymorphism_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "map_polymorphism_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "map_polymorphism_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   16,
					},
					File:   "map_polymorphism_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,49,load1,system\n,,0,2018-05-22T19:53:36Z,50,load1,system\n,,0,2018-05-22T19:53:46Z,51,load1,system\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "map_polymorphism_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   16,
						},
						File:   "map_polymorphism_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,49,load1,system\n,,0,2018-05-22T19:53:36Z,50,load1,system\n,,0,2018-05-22T19:53:46Z,51,load1,system\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:26Z,49,load1,system\n,,0,2018-05-22T19:53:36Z,50,load1,system\n,,0,2018-05-22T19:53:46Z,51,load1,system\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "map_polymorphism_test.flux",
					Source: "outData = \"\n#datatype,string,long,string\n#group,false,false,false\n#default,_result,,\n,result,table,out\n,,0,Y\n,,0,N\n,,0,N\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   17,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   17,
						},
						File:   "map_polymorphism_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   17,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "map_polymorphism_test.flux",
						Source: "\"\n#datatype,string,long,string\n#group,false,false,false\n#default,_result,,\n,result,table,out\n,,0,Y\n,,0,N\n,,0,N\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   17,
						},
					},
				},
				Value: "\n#datatype,string,long,string\n#group,false,false,false\n#default,_result,,\n,result,table,out\n,,0,Y\n,,0,N\n,,0,N\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 25,
						Line:   26,
					},
					File:   "map_polymorphism_test.flux",
					Source: "f = (r) => r._value < 50",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "map_polymorphism_test.flux",
						Source: "f",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "f",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   26,
						},
						File:   "map_polymorphism_test.flux",
						Source: "(r) => r._value < 50",
						Start: ast.Position{
							Column: 5,
							Line:   26,
						},
					},
				},
				Body: &ast.BinaryExpression{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   26,
							},
							File:   "map_polymorphism_test.flux",
							Source: "r._value < 50",
							Start: ast.Position{
								Column: 12,
								Line:   26,
							},
						},
					},
					Left: &ast.MemberExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   26,
								},
								File:   "map_polymorphism_test.flux",
								Source: "r._value",
								Start: ast.Position{
									Column: 12,
									Line:   26,
								},
							},
						},
						Lbrack: nil,
						Object: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   26,
									},
									File:   "map_polymorphism_test.flux",
									Source: "r",
									Start: ast.Position{
										Column: 12,
										Line:   26,
									},
								},
							},
							Name: "r",
						},
						Property: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 20,
										Line:   26,
									},
									File:   "map_polymorphism_test.flux",
									Source: "_value",
									Start: ast.Position{
										Column: 14,
										Line:   26,
									},
								},
							},
							Name: "_value",
						},
						Rbrack: nil,
					},
					Operator: 8,
					Right: &ast.IntegerLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   26,
								},
								File:   "map_polymorphism_test.flux",
								Source: "50",
								Start: ast.Position{
									Column: 23,
									Line:   26,
								},
							},
						},
						Value: int64(50),
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 7,
								Line:   26,
							},
							File:   "map_polymorphism_test.flux",
							Source: "r",
							Start: ast.Position{
								Column: 6,
								Line:   26,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 7,
									Line:   26,
								},
								File:   "map_polymorphism_test.flux",
								Source: "r",
								Start: ast.Position{
									Column: 6,
									Line:   26,
								},
							},
						},
						Name: "r",
					},
					Separator: nil,
					Value:     nil,
				}},
				Rparan: nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 61,
						Line:   31,
					},
					File:   "map_polymorphism_test.flux",
					Source: "t_map = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:16Z)\n    |> map(fn: (r) => ({out: if f(r: r) then \"Y\" else \"N\"}))",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: []ast.Comment{ast.Comment{Text: "// test that map can call polymorphic functions\n"}},
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   29,
						},
						File:   "map_polymorphism_test.flux",
						Source: "t_map",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "t_map",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 61,
							Line:   31,
						},
						File:   "map_polymorphism_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:16Z)\n    |> map(fn: (r) => ({out: if f(r: r) then \"Y\" else \"N\"}))",
						Start: ast.Position{
							Column: 9,
							Line:   29,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   29,
									},
									File:   "map_polymorphism_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 23,
										Line:   29,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   30,
								},
								File:   "map_polymorphism_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:16Z)",
								Start: ast.Position{
									Column: 23,
									Line:   29,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   30,
										},
										File:   "map_polymorphism_test.flux",
										Source: "start: 2018-05-22T19:53:16Z",
										Start: ast.Position{
											Column: 14,
											Line:   30,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   30,
											},
											File:   "map_polymorphism_test.flux",
											Source: "start: 2018-05-22T19:53:16Z",
											Start: ast.Position{
												Column: 14,
												Line:   30,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   30,
												},
												File:   "map_polymorphism_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   30,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   30,
												},
												File:   "map_polymorphism_test.flux",
												Source: "2018-05-22T19:53:16Z",
												Start: ast.Position{
													Column: 21,
													Line:   30,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:16Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   30,
									},
									File:   "map_polymorphism_test.flux",
									Source: "range(start: 2018-05-22T19:53:16Z)",
									Start: ast.Position{
										Column: 8,
										Line:   30,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   30,
										},
										File:   "map_polymorphism_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   30,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 61,
								Line:   31,
							},
							File:   "map_polymorphism_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:16Z)\n    |> map(fn: (r) => ({out: if f(r: r) then \"Y\" else \"N\"}))",
							Start: ast.Position{
								Column: 23,
								Line:   29,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 60,
										Line:   31,
									},
									File:   "map_polymorphism_test.flux",
									Source: "fn: (r) => ({out: if f(r: r) then \"Y\" else \"N\"})",
									Start: ast.Position{
										Column: 12,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   31,
										},
										File:   "map_polymorphism_test.flux",
										Source: "fn: (r) => ({out: if f(r: r) then \"Y\" else \"N\"})",
										Start: ast.Position{
											Column: 12,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   31,
											},
											File:   "map_polymorphism_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 12,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   31,
											},
											File:   "map_polymorphism_test.flux",
											Source: "(r) => ({out: if f(r: r) then \"Y\" else \"N\"})",
											Start: ast.Position{
												Column: 16,
												Line:   31,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   31,
												},
												File:   "map_polymorphism_test.flux",
												Source: "({out: if f(r: r) then \"Y\" else \"N\"})",
												Start: ast.Position{
													Column: 23,
													Line:   31,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   31,
													},
													File:   "map_polymorphism_test.flux",
													Source: "{out: if f(r: r) then \"Y\" else \"N\"}",
													Start: ast.Position{
														Column: 24,
														Line:   31,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   31,
														},
														File:   "map_polymorphism_test.flux",
														Source: "out: if f(r: r) then \"Y\" else \"N\"",
														Start: ast.Position{
															Column: 25,
															Line:   31,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 28,
																Line:   31,
															},
															File:   "map_polymorphism_test.flux",
															Source: "out",
															Start: ast.Position{
																Column: 25,
																Line:   31,
															},
														},
													},
													Name: "out",
												},
												Separator: nil,
												Value: &ast.ConditionalExpression{
													Alternate: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 58,
																	Line:   31,
																},
																File:   "map_polymorphism_test.flux",
																Source: "\"N\"",
																Start: ast.Position{
																	Column: 55,
																	Line:   31,
																},
															},
														},
														Value: "N",
													},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 58,
																Line:   31,
															},
															File:   "map_polymorphism_test.flux",
															Source: "if f(r: r) then \"Y\" else \"N\"",
															Start: ast.Position{
																Column: 30,
																Line:   31,
															},
														},
													},
													Consequent: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 49,
																	Line:   31,
																},
																File:   "map_polymorphism_test.flux",
																Source: "\"Y\"",
																Start: ast.Position{
																	Column: 46,
																	Line:   31,
																},
															},
														},
														Value: "Y",
													},
													Test: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 39,
																		Line:   31,
																	},
																	File:   "map_polymorphism_test.flux",
																	Source: "r: r",
																	Start: ast.Position{
																		Column: 35,
																		Line:   31,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 39,
																			Line:   31,
																		},
																		File:   "map_polymorphism_test.flux",
																		Source: "r: r",
																		Start: ast.Position{
																			Column: 35,
																			Line:   31,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 36,
																				Line:   31,
																			},
																			File:   "map_polymorphism_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 35,
																				Line:   31,
																			},
																		},
																	},
																	Name: "r",
																},
																Separator: nil,
																Value: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 39,
																				Line:   31,
																			},
																			File:   "map_polymorphism_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 38,
																				Line:   31,
																			},
																		},
																	},
																	Name: "r",
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   31,
																},
																File:   "map_polymorphism_test.flux",
																Source: "f(r: r)",
																Start: ast.Position{
																	Column: 33,
																	Line:   31,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 34,
																		Line:   31,
																	},
																	File:   "map_polymorphism_test.flux",
																	Source: "f",
																	Start: ast.Position{
																		Column: 33,
																		Line:   31,
																	},
																},
															},
															Name: "f",
														},
														Lparen: nil,
														Rparen: nil,
													},
													Tk_else: nil,
													Tk_if:   nil,
													Tk_then: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   31,
												},
												File:   "map_polymorphism_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 17,
													Line:   31,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   31,
													},
													File:   "map_polymorphism_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   31,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 61,
									Line:   31,
								},
								File:   "map_polymorphism_test.flux",
								Source: "map(fn: (r) => ({out: if f(r: r) then \"Y\" else \"N\"}))",
								Start: ast.Position{
									Column: 8,
									Line:   31,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   31,
									},
									File:   "map_polymorphism_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   29,
							},
							File:   "map_polymorphism_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   29,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   29,
								},
								File:   "map_polymorphism_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   29,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   29,
							},
							File:   "map_polymorphism_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   29,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   33,
						},
						File:   "map_polymorphism_test.flux",
						Source: "_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
						Start: ast.Position{
							Column: 6,
							Line:   33,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   33,
							},
							File:   "map_polymorphism_test.flux",
							Source: "_map",
							Start: ast.Position{
								Column: 6,
								Line:   33,
							},
						},
					},
					Name: "_map",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   33,
							},
							File:   "map_polymorphism_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
							Start: ast.Position{
								Column: 13,
								Line:   33,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   33,
								},
								File:   "map_polymorphism_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
								Start: ast.Position{
									Column: 19,
									Line:   33,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   33,
									},
									File:   "map_polymorphism_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map}",
									Start: ast.Position{
										Column: 20,
										Line:   33,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   33,
										},
										File:   "map_polymorphism_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   33,
											},
											File:   "map_polymorphism_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   33,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   33,
												},
												File:   "map_polymorphism_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   33,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   33,
													},
													File:   "map_polymorphism_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   33,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   33,
														},
														File:   "map_polymorphism_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   33,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   33,
														},
														File:   "map_polymorphism_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   33,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   33,
											},
											File:   "map_polymorphism_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   33,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   33,
												},
												File:   "map_polymorphism_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   33,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   33,
													},
													File:   "map_polymorphism_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   33,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   33,
													},
													File:   "map_polymorphism_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   33,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   33,
										},
										File:   "map_polymorphism_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   33,
											},
											File:   "map_polymorphism_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   33,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   33,
												},
												File:   "map_polymorphism_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   33,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   33,
													},
													File:   "map_polymorphism_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   33,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   33,
														},
														File:   "map_polymorphism_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   33,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   33,
														},
														File:   "map_polymorphism_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   33,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   33,
											},
											File:   "map_polymorphism_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   33,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   33,
												},
												File:   "map_polymorphism_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   33,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   33,
													},
													File:   "map_polymorphism_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   33,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   33,
													},
													File:   "map_polymorphism_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   33,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   33,
										},
										File:   "map_polymorphism_test.flux",
										Source: "fn: t_map",
										Start: ast.Position{
											Column: 99,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   33,
											},
											File:   "map_polymorphism_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   33,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   33,
											},
											File:   "map_polymorphism_test.flux",
											Source: "t_map",
											Start: ast.Position{
												Column: 103,
												Line:   33,
											},
										},
									},
									Name: "t_map",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   33,
					},
					File:   "map_polymorphism_test.flux",
					Source: "test _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "map_polymorphism_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "map_polymorphism_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_polymorphism_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_polymorphism_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_polymorphism_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   44,
				},
				File:   "map_shadow_var_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"strings\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"\nmyVal = \"wrong\"\nt_shadow_var = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )\n\ntest _shadow_var = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shadow_var})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "map_shadow_var_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "map_shadow_var_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "map_shadow_var_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "map_shadow_var_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "map_shadow_var_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   20,
					},
					File:   "map_shadow_var_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "map_shadow_var_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   20,
						},
						File:   "map_shadow_var_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,a ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9n  gm ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b  ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe   ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI ,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   32,
					},
					File:   "map_shadow_var_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   21,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   21,
						},
						File:   "map_shadow_var_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   21,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   32,
						},
						File:   "map_shadow_var_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   21,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,const,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,const,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 16,
						Line:   33,
					},
					File:   "map_shadow_var_test.flux",
					Source: "myVal = \"wrong\"",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   33,
						},
						File:   "map_shadow_var_test.flux",
						Source: "myVal",
						Start: ast.Position{
							Column: 1,
							Line:   33,
						},
					},
				},
				Name: "myVal",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   33,
						},
						File:   "map_shadow_var_test.flux",
						Source: "\"wrong\"",
						Start: ast.Position{
							Column: 9,
							Line:   33,
						},
					},
				},
				Value: "wrong",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   42,
					},
					File:   "map_shadow_var_test.flux",
					Source: "t_shadow_var = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   34,
						},
						File:   "map_shadow_var_test.flux",
						Source: "t_shadow_var",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "t_shadow_var",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   42,
						},
						File:   "map_shadow_var_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )",
						Start: ast.Position{
							Column: 16,
							Line:   34,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   34,
									},
									File:   "map_shadow_var_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   34,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   35,
								},
								File:   "map_shadow_var_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 30,
									Line:   34,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   35,
										},
										File:   "map_shadow_var_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   35,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   35,
											},
											File:   "map_shadow_var_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   35,
												},
												File:   "map_shadow_var_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   35,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   35,
												},
												File:   "map_shadow_var_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   35,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   35,
									},
									File:   "map_shadow_var_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   35,
										},
										File:   "map_shadow_var_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   35,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   42,
							},
							File:   "map_shadow_var_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )",
							Start: ast.Position{
								Column: 30,
								Line:   34,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   41,
									},
									File:   "map_shadow_var_test.flux",
									Source: "fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        }",
									Start: ast.Position{
										Column: 9,
										Line:   37,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   41,
										},
										File:   "map_shadow_var_test.flux",
										Source: "fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        }",
										Start: ast.Position{
											Column: 9,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   37,
											},
											File:   "map_shadow_var_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   37,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   41,
											},
											File:   "map_shadow_var_test.flux",
											Source: "(r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        }",
											Start: ast.Position{
												Column: 13,
												Line:   37,
											},
										},
									},
									Body: &ast.Block{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 10,
													Line:   41,
												},
												File:   "map_shadow_var_test.flux",
												Source: "{\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        }",
												Start: ast.Position{
													Column: 20,
													Line:   37,
												},
											},
										},
										Body: []ast.Statement{&ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   38,
													},
													File:   "map_shadow_var_test.flux",
													Source: "myVal = \"const\"",
													Start: ast.Position{
														Column: 13,
														Line:   38,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   38,
														},
														File:   "map_shadow_var_test.flux",
														Source: "myVal",
														Start: ast.Position{
															Column: 13,
															Line:   38,
														},
													},
												},
												Name: "myVal",
											},
											Init: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   38,
														},
														File:   "map_shadow_var_test.flux",
														Source: "\"const\"",
														Start: ast.Position{
															Column: 21,
															Line:   38,
														},
													},
												},
												Value: "const",
											},
										}, &ast.ReturnStatement{
											Argument: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 42,
															Line:   40,
														},
														File:   "map_shadow_var_test.flux",
														Source: "{r with _value: myVal}",
														Start: ast.Position{
															Column: 20,
															Line:   40,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   40,
															},
															File:   "map_shadow_var_test.flux",
															Source: "_value: myVal",
															Start: ast.Position{
																Column: 28,
																Line:   40,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 34,
																	Line:   40,
																},
																File:   "map_shadow_var_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 28,
																	Line:   40,
																},
															},
														},
														Name: "_value",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 41,
																	Line:   40,
																},
																File:   "map_shadow_var_test.flux",
																Source: "myVal",
																Start: ast.Position{
																	Column: 36,
																	Line:   40,
																},
															},
														},
														Name: "myVal",
													},
												}},
												Rbrace: nil,
												With: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 22,
																Line:   40,
															},
															File:   "map_shadow_var_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 21,
																Line:   40,
															},
														},
													},
													Name: "r",
												},
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   40,
													},
													File:   "map_shadow_var_test.flux",
													Source: "return {r with _value: myVal}",
													Start: ast.Position{
														Column: 13,
														Line:   40,
													},
												},
											},
										}},
										Lbrace: nil,
										Rbrace: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   37,
												},
												File:   "map_shadow_var_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 14,
													Line:   37,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   37,
													},
													File:   "map_shadow_var_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 14,
														Line:   37,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   42,
								},
								File:   "map_shadow_var_test.flux",
								Source: "map(\n        fn: (r) => {\n            myVal = \"const\"\n\n            return {r with _value: myVal}\n        },\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   36,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   36,
									},
									File:   "map_shadow_var_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   34,
							},
							File:   "map_shadow_var_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   34,
								},
								File:   "map_shadow_var_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   34,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   34,
							},
							File:   "map_shadow_var_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   34,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   44,
						},
						File:   "map_shadow_var_test.flux",
						Source: "_shadow_var = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shadow_var})",
						Start: ast.Position{
							Column: 6,
							Line:   44,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   44,
							},
							File:   "map_shadow_var_test.flux",
							Source: "_shadow_var",
							Start: ast.Position{
								Column: 6,
								Line:   44,
							},
						},
					},
					Name: "_shadow_var",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   44,
							},
							File:   "map_shadow_var_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shadow_var})",
							Start: ast.Position{
								Column: 20,
								Line:   44,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   44,
								},
								File:   "map_shadow_var_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shadow_var})",
								Start: ast.Position{
									Column: 26,
									Line:   44,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   44,
									},
									File:   "map_shadow_var_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shadow_var}",
									Start: ast.Position{
										Column: 27,
										Line:   44,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   44,
										},
										File:   "map_shadow_var_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   44,
											},
											File:   "map_shadow_var_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   44,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   44,
												},
												File:   "map_shadow_var_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   44,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   44,
													},
													File:   "map_shadow_var_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   44,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   44,
														},
														File:   "map_shadow_var_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   44,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   44,
														},
														File:   "map_shadow_var_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   44,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   44,
											},
											File:   "map_shadow_var_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   44,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   44,
												},
												File:   "map_shadow_var_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   44,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   44,
													},
													File:   "map_shadow_var_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   44,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   44,
													},
													File:   "map_shadow_var_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   44,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   44,
										},
										File:   "map_shadow_var_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   44,
											},
											File:   "map_shadow_var_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   44,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   44,
												},
												File:   "map_shadow_var_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   44,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   44,
													},
													File:   "map_shadow_var_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   44,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   44,
														},
														File:   "map_shadow_var_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   44,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   44,
														},
														File:   "map_shadow_var_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   44,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   44,
											},
											File:   "map_shadow_var_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   44,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   44,
												},
												File:   "map_shadow_var_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   44,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   44,
													},
													File:   "map_shadow_var_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   44,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   44,
													},
													File:   "map_shadow_var_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   44,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   44,
										},
										File:   "map_shadow_var_test.flux",
										Source: "fn: t_shadow_var",
										Start: ast.Position{
											Column: 106,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   44,
											},
											File:   "map_shadow_var_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   44,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   44,
											},
											File:   "map_shadow_var_test.flux",
											Source: "t_shadow_var",
											Start: ast.Position{
												Column: 110,
												Line:   44,
											},
										},
									},
									Name: "t_shadow_var",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   44,
					},
					File:   "map_shadow_var_test.flux",
					Source: "test _shadow_var = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shadow_var})",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "map_shadow_var_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "map_shadow_var_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   5,
					},
					File:   "map_shadow_var_test.flux",
					Source: "import \"strings\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   5,
						},
						File:   "map_shadow_var_test.flux",
						Source: "\"strings\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "strings",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_shadow_var_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_shadow_var_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_shadow_var_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   29,
				},
				File:   "map_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"\noutData = \"\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,newValue\n,,0,100.0\n,,0,101.0\n,,0,102.0\n\"\nt_map = (table=<-) => table\n    |> map(fn: (r) => ({newValue: float(v: r._value)}))\n\ntest _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "map_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "map_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "map_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "map_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "map_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   16,
					},
					File:   "map_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "map_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   16,
						},
						File:   "map_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "map_test.flux",
					Source: "outData = \"\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,newValue\n,,0,100.0\n,,0,101.0\n,,0,102.0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   17,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   17,
						},
						File:   "map_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   17,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "map_test.flux",
						Source: "\"\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,newValue\n,,0,100.0\n,,0,101.0\n,,0,102.0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   17,
						},
					},
				},
				Value: "\n#datatype,string,long,double\n#group,false,false,false\n#default,_result,,\n,result,table,newValue\n,,0,100.0\n,,0,101.0\n,,0,102.0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 56,
						Line:   27,
					},
					File:   "map_test.flux",
					Source: "t_map = (table=<-) => table\n    |> map(fn: (r) => ({newValue: float(v: r._value)}))",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   26,
						},
						File:   "map_test.flux",
						Source: "t_map",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "t_map",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 56,
							Line:   27,
						},
						File:   "map_test.flux",
						Source: "(table=<-) => table\n    |> map(fn: (r) => ({newValue: float(v: r._value)}))",
						Start: ast.Position{
							Column: 9,
							Line:   26,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   26,
								},
								File:   "map_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 23,
									Line:   26,
								},
							},
						},
						Name: "table",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 56,
								Line:   27,
							},
							File:   "map_test.flux",
							Source: "table\n    |> map(fn: (r) => ({newValue: float(v: r._value)}))",
							Start: ast.Position{
								Column: 23,
								Line:   26,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 55,
										Line:   27,
									},
									File:   "map_test.flux",
									Source: "fn: (r) => ({newValue: float(v: r._value)})",
									Start: ast.Position{
										Column: 12,
										Line:   27,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 55,
											Line:   27,
										},
										File:   "map_test.flux",
										Source: "fn: (r) => ({newValue: float(v: r._value)})",
										Start: ast.Position{
											Column: 12,
											Line:   27,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   27,
											},
											File:   "map_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 12,
												Line:   27,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 55,
												Line:   27,
											},
											File:   "map_test.flux",
											Source: "(r) => ({newValue: float(v: r._value)})",
											Start: ast.Position{
												Column: 16,
												Line:   27,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   27,
												},
												File:   "map_test.flux",
												Source: "({newValue: float(v: r._value)})",
												Start: ast.Position{
													Column: 23,
													Line:   27,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   27,
													},
													File:   "map_test.flux",
													Source: "{newValue: float(v: r._value)}",
													Start: ast.Position{
														Column: 24,
														Line:   27,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   27,
														},
														File:   "map_test.flux",
														Source: "newValue: float(v: r._value)",
														Start: ast.Position{
															Column: 25,
															Line:   27,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 33,
																Line:   27,
															},
															File:   "map_test.flux",
															Source: "newValue",
															Start: ast.Position{
																Column: 25,
																Line:   27,
															},
														},
													},
													Name: "newValue",
												},
												Separator: nil,
												Value: &ast.CallExpression{
													Arguments: []ast.Expression{&ast.ObjectExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 52,
																	Line:   27,
																},
																File:   "map_test.flux",
																Source: "v: r._value",
																Start: ast.Position{
																	Column: 41,
																	Line:   27,
																},
															},
														},
														Lbrace: nil,
														Properties: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 52,
																		Line:   27,
																	},
																	File:   "map_test.flux",
																	Source: "v: r._value",
																	Start: ast.Position{
																		Column: 41,
																		Line:   27,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 42,
																			Line:   27,
																		},
																		File:   "map_test.flux",
																		Source: "v",
																		Start: ast.Position{
																			Column: 41,
																			Line:   27,
																		},
																	},
																},
																Name: "v",
															},
															Separator: nil,
															Value: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 52,
																			Line:   27,
																		},
																		File:   "map_test.flux",
																		Source: "r._value",
																		Start: ast.Position{
																			Column: 44,
																			Line:   27,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 45,
																				Line:   27,
																			},
																			File:   "map_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 44,
																				Line:   27,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 52,
																				Line:   27,
																			},
																			File:   "map_test.flux",
																			Source: "_value",
																			Start: ast.Position{
																				Column: 46,
																				Line:   27,
																			},
																		},
																	},
																	Name: "_value",
																},
																Rbrack: nil,
															},
														}},
														Rbrace: nil,
														With:   nil,
													}},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 53,
																Line:   27,
															},
															File:   "map_test.flux",
															Source: "float(v: r._value)",
															Start: ast.Position{
																Column: 35,
																Line:   27,
															},
														},
													},
													Callee: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   27,
																},
																File:   "map_test.flux",
																Source: "float",
																Start: ast.Position{
																	Column: 35,
																	Line:   27,
																},
															},
														},
														Name: "float",
													},
													Lparen: nil,
													Rparen: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   27,
												},
												File:   "map_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 17,
													Line:   27,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   27,
													},
													File:   "map_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   27,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 56,
									Line:   27,
								},
								File:   "map_test.flux",
								Source: "map(fn: (r) => ({newValue: float(v: r._value)}))",
								Start: ast.Position{
									Column: 8,
									Line:   27,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   27,
									},
									File:   "map_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   27,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   26,
							},
							File:   "map_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   26,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   26,
								},
								File:   "map_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   26,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   26,
							},
							File:   "map_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   26,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   29,
						},
						File:   "map_test.flux",
						Source: "_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
						Start: ast.Position{
							Column: 6,
							Line:   29,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   29,
							},
							File:   "map_test.flux",
							Source: "_map",
							Start: ast.Position{
								Column: 6,
								Line:   29,
							},
						},
					},
					Name: "_map",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   29,
							},
							File:   "map_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
							Start: ast.Position{
								Column: 13,
								Line:   29,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   29,
								},
								File:   "map_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
								Start: ast.Position{
									Column: 19,
									Line:   29,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   29,
									},
									File:   "map_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map}",
									Start: ast.Position{
										Column: 20,
										Line:   29,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   29,
										},
										File:   "map_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   29,
											},
											File:   "map_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   29,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   29,
												},
												File:   "map_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   29,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   29,
													},
													File:   "map_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   29,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   29,
														},
														File:   "map_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   29,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   29,
														},
														File:   "map_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   29,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   29,
											},
											File:   "map_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   29,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   29,
												},
												File:   "map_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   29,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   29,
													},
													File:   "map_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   29,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   29,
													},
													File:   "map_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   29,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   29,
										},
										File:   "map_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   29,
											},
											File:   "map_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   29,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   29,
												},
												File:   "map_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   29,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   29,
													},
													File:   "map_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   29,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   29,
														},
														File:   "map_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   29,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   29,
														},
														File:   "map_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   29,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   29,
											},
											File:   "map_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   29,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   29,
												},
												File:   "map_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   29,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   29,
													},
													File:   "map_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   29,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   29,
													},
													File:   "map_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   29,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   29,
										},
										File:   "map_test.flux",
										Source: "fn: t_map",
										Start: ast.Position{
											Column: 99,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   29,
											},
											File:   "map_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   29,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   29,
											},
											File:   "map_test.flux",
											Source: "t_map",
											Start: ast.Position{
												Column: 103,
												Line:   29,
											},
										},
									},
									Name: "t_map",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   29,
					},
					File:   "map_test.flux",
					Source: "test _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "map_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "map_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   51,
				},
				File:   "map_with_obj_test.flux",
				Source: "package universe_test\n\n\n//\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long,long,long,long,long,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false,false,false,false,false,false,false,false\n#default,got,,,,,,,,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,_time,_value,array,boolAdd,floatAdd,intAdd,string,time,uintAdd\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:26Z,100,101,101,101,99,1,2018-05-22T19:53:26Z,101\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:36Z,101,102,102,102,100,1,2018-05-22T19:53:26Z,102\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:46Z,102,103,103,103,101,1,2018-05-22T19:53:26Z,103\n\"\nobj = {\n    b: true,\n    i: -1,\n    d: 1.0,\n    u: 1,\n    s: \"1\",\n    t: 2018-05-22T19:53:26Z,\n    r: -30000d,\n}\narr = [1, 2, 3, 4]\nt_map = (table=<-) => table\n    |> range(start: obj.r)\n    |> map(\n        fn: (r) => ({r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        }),\n    )\n\ntest _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "map_with_obj_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "map_with_obj_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "map_with_obj_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "map_with_obj_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "map_with_obj_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   17,
					},
					File:   "map_with_obj_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "map_with_obj_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   17,
						},
						File:   "map_with_obj_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "map_with_obj_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long,long,long,long,long,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false,false,false,false,false,false,false,false\n#default,got,,,,,,,,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,_time,_value,array,boolAdd,floatAdd,intAdd,string,time,uintAdd\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:26Z,100,101,101,101,99,1,2018-05-22T19:53:26Z,101\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:36Z,101,102,102,102,100,1,2018-05-22T19:53:26Z,102\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:46Z,102,103,103,103,101,1,2018-05-22T19:53:26Z,103\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   18,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   18,
						},
						File:   "map_with_obj_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   18,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "map_with_obj_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long,long,long,long,long,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false,false,false,false,false,false,false,false\n#default,got,,,,,,,,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,_time,_value,array,boolAdd,floatAdd,intAdd,string,time,uintAdd\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:26Z,100,101,101,101,99,1,2018-05-22T19:53:26Z,101\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:36Z,101,102,102,102,100,1,2018-05-22T19:53:26Z,102\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:46Z,102,103,103,103,101,1,2018-05-22T19:53:26Z,103\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   18,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long,long,long,long,long,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false,false,false,false,false,false,false,false\n#default,got,,,,,,,,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,_time,_value,array,boolAdd,floatAdd,intAdd,string,time,uintAdd\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:26Z,100,101,101,101,99,1,2018-05-22T19:53:26Z,101\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:36Z,101,102,102,102,100,1,2018-05-22T19:53:26Z,102\n,,0,1947-11-13T00:00:00Z,2030-01-01T00:00:00Z,load1,system,host.local,2018-05-22T19:53:46Z,102,103,103,103,101,1,2018-05-22T19:53:26Z,103\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "map_with_obj_test.flux",
					Source: "obj = {\n    b: true,\n    i: -1,\n    d: 1.0,\n    u: 1,\n    s: \"1\",\n    t: 2018-05-22T19:53:26Z,\n    r: -30000d,\n}",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 4,
							Line:   27,
						},
						File:   "map_with_obj_test.flux",
						Source: "obj",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "obj",
			},
			Init: &ast.ObjectExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "map_with_obj_test.flux",
						Source: "{\n    b: true,\n    i: -1,\n    d: 1.0,\n    u: 1,\n    s: \"1\",\n    t: 2018-05-22T19:53:26Z,\n    r: -30000d,\n}",
						Start: ast.Position{
							Column: 7,
							Line:   27,
						},
					},
				},
				Lbrace: nil,
				Properties: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   28,
							},
							File:   "map_with_obj_test.flux",
							Source: "b: true",
							Start: ast.Position{
								Column: 5,
								Line:   28,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   28,
								},
								File:   "map_with_obj_test.flux",
								Source: "b",
								Start: ast.Position{
									Column: 5,
									Line:   28,
								},
							},
						},
						Name: "b",
					},
					Separator: nil,
					Value: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 12,
									Line:   28,
								},
								File:   "map_with_obj_test.flux",
								Source: "true",
								Start: ast.Position{
									Column: 8,
									Line:   28,
								},
							},
						},
						Name: "true",
					},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   29,
							},
							File:   "map_with_obj_test.flux",
							Source: "i: -1",
							Start: ast.Position{
								Column: 5,
								Line:   29,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   29,
								},
								File:   "map_with_obj_test.flux",
								Source: "i",
								Start: ast.Position{
									Column: 5,
									Line:   29,
								},
							},
						},
						Name: "i",
					},
					Separator: nil,
					Value: &ast.UnaryExpression{
						Argument: &ast.IntegerLiteral{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   29,
									},
									File:   "map_with_obj_test.flux",
									Source: "1",
									Start: ast.Position{
										Column: 9,
										Line:   29,
									},
								},
							},
							Value: int64(1),
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 10,
									Line:   29,
								},
								File:   "map_with_obj_test.flux",
								Source: "-1",
								Start: ast.Position{
									Column: 8,
									Line:   29,
								},
							},
						},
						Operator: 6,
					},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   30,
							},
							File:   "map_with_obj_test.flux",
							Source: "d: 1.0",
							Start: ast.Position{
								Column: 5,
								Line:   30,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   30,
								},
								File:   "map_with_obj_test.flux",
								Source: "d",
								Start: ast.Position{
									Column: 5,
									Line:   30,
								},
							},
						},
						Name: "d",
					},
					Separator: nil,
					Value: &ast.FloatLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 11,
									Line:   30,
								},
								File:   "map_with_obj_test.flux",
								Source: "1.0",
								Start: ast.Position{
									Column: 8,
									Line:   30,
								},
							},
						},
						Value: 1.0,
					},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 9,
								Line:   31,
							},
							File:   "map_with_obj_test.flux",
							Source: "u: 1",
							Start: ast.Position{
								Column: 5,
								Line:   31,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   31,
								},
								File:   "map_with_obj_test.flux",
								Source: "u",
								Start: ast.Position{
									Column: 5,
									Line:   31,
								},
							},
						},
						Name: "u",
					},
					Separator: nil,
					Value: &ast.IntegerLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 9,
									Line:   31,
								},
								File:   "map_with_obj_test.flux",
								Source: "1",
								Start: ast.Position{
									Column: 8,
									Line:   31,
								},
							},
						},
						Value: int64(1),
					},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   32,
							},
							File:   "map_with_obj_test.flux",
							Source: "s: \"1\"",
							Start: ast.Position{
								Column: 5,
								Line:   32,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   32,
								},
								File:   "map_with_obj_test.flux",
								Source: "s",
								Start: ast.Position{
									Column: 5,
									Line:   32,
								},
							},
						},
						Name: "s",
					},
					Separator: nil,
					Value: &ast.StringLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 11,
									Line:   32,
								},
								File:   "map_with_obj_test.flux",
								Source: "\"1\"",
								Start: ast.Position{
									Column: 8,
									Line:   32,
								},
							},
						},
						Value: "1",
					},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   33,
							},
							File:   "map_with_obj_test.flux",
							Source: "t: 2018-05-22T19:53:26Z",
							Start: ast.Position{
								Column: 5,
								Line:   33,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   33,
								},
								File:   "map_with_obj_test.flux",
								Source: "t",
								Start: ast.Position{
									Column: 5,
									Line:   33,
								},
							},
						},
						Name: "t",
					},
					Separator: nil,
					Value: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   33,
								},
								File:   "map_with_obj_test.flux",
								Source: "2018-05-22T19:53:26Z",
								Start: ast.Position{
									Column: 8,
									Line:   33,
								},
							},
						},
						Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
					},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   34,
							},
							File:   "map_with_obj_test.flux",
							Source: "r: -30000d",
							Start: ast.Position{
								Column: 5,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   34,
								},
								File:   "map_with_obj_test.flux",
								Source: "r",
								Start: ast.Position{
									Column: 5,
									Line:   34,
								},
							},
						},
						Name: "r",
					},
					Separator: nil,
					Value: &ast.UnaryExpression{
						Argument: &ast.DurationLiteral{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 15,
										Line:   34,
									},
									File:   "map_with_obj_test.flux",
									Source: "30000d",
									Start: ast.Position{
										Column: 9,
										Line:   34,
									},
								},
							},
							Values: []ast.Duration{ast.Duration{
								Magnitude: int64(30000),
								Unit:      "d",
							}},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   34,
								},
								File:   "map_with_obj_test.flux",
								Source: "-30000d",
								Start: ast.Position{
									Column: 8,
									Line:   34,
								},
							},
						},
						Operator: 6,
					},
				}},
				Rbrace: nil,
				With:   nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 19,
						Line:   36,
					},
					File:   "map_with_obj_test.flux",
					Source: "arr = [1, 2, 3, 4]",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 4,
							Line:   36,
						},
						File:   "map_with_obj_test.flux",
						Source: "arr",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "arr",
			},
			Init: &ast.ArrayExpression{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 19,
							Line:   36,
						},
						File:   "map_with_obj_test.flux",
						Source: "[1, 2, 3, 4]",
						Start: ast.Position{
							Column: 7,
							Line:   36,
						},
					},
				},
				Elements: []ast.Expression{&ast.IntegerLiteral{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 9,
								Line:   36,
							},
							File:   "map_with_obj_test.flux",
							Source: "1",
							Start: ast.Position{
								Column: 8,
								Line:   36,
							},
						},
					},
					Value: int64(1),
				}, &ast.IntegerLiteral{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   36,
							},
							File:   "map_with_obj_test.flux",
							Source: "2",
							Start: ast.Position{
								Column: 11,
								Line:   36,
							},
						},
					},
					Value: int64(2),
				}, &ast.IntegerLiteral{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   36,
							},
							File:   "map_with_obj_test.flux",
							Source: "3",
							Start: ast.Position{
								Column: 14,
								Line:   36,
							},
						},
					},
					Value: int64(3),
				}, &ast.IntegerLiteral{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   36,
							},
							File:   "map_with_obj_test.flux",
							Source: "4",
							Start: ast.Position{
								Column: 17,
								Line:   36,
							},
						},
					},
					Value: int64(4),
				}},
				Lbrack: nil,
				Rbrack: nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   49,
					},
					File:   "map_with_obj_test.flux",
					Source: "t_map = (table=<-) => table\n    |> range(start: obj.r)\n    |> map(\n        fn: (r) => ({r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        }),\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   37,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   37,
						},
						File:   "map_with_obj_test.flux",
						Source: "t_map",
						Start: ast.Position{
							Column: 1,
							Line:   37,
						},
					},
				},
				Name: "t_map",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   49,
						},
						File:   "map_with_obj_test.flux",
						Source: "(table=<-) => table\n    |> range(start: obj.r)\n    |> map(\n        fn: (r) => ({r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        }),\n    )",
						Start: ast.Position{
							Column: 9,
							Line:   37,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   37,
									},
									File:   "map_with_obj_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 23,
										Line:   37,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   38,
								},
								File:   "map_with_obj_test.flux",
								Source: "table\n    |> range(start: obj.r)",
								Start: ast.Position{
									Column: 23,
									Line:   37,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 26,
											Line:   38,
										},
										File:   "map_with_obj_test.flux",
										Source: "start: obj.r",
										Start: ast.Position{
											Column: 14,
											Line:   38,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   38,
											},
											File:   "map_with_obj_test.flux",
											Source: "start: obj.r",
											Start: ast.Position{
												Column: 14,
												Line:   38,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   38,
												},
												File:   "map_with_obj_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   38,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   38,
												},
												File:   "map_with_obj_test.flux",
												Source: "obj.r",
												Start: ast.Position{
													Column: 21,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   38,
													},
													File:   "map_with_obj_test.flux",
													Source: "obj",
													Start: ast.Position{
														Column: 21,
														Line:   38,
													},
												},
											},
											Name: "obj",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   38,
													},
													File:   "map_with_obj_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 25,
														Line:   38,
													},
												},
											},
											Name: "r",
										},
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 27,
										Line:   38,
									},
									File:   "map_with_obj_test.flux",
									Source: "range(start: obj.r)",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   38,
										},
										File:   "map_with_obj_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   38,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   49,
							},
							File:   "map_with_obj_test.flux",
							Source: "table\n    |> range(start: obj.r)\n    |> map(\n        fn: (r) => ({r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        }),\n    )",
							Start: ast.Position{
								Column: 23,
								Line:   37,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   48,
									},
									File:   "map_with_obj_test.flux",
									Source: "fn: (r) => ({r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        })",
									Start: ast.Position{
										Column: 9,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   48,
										},
										File:   "map_with_obj_test.flux",
										Source: "fn: (r) => ({r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        })",
										Start: ast.Position{
											Column: 9,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   40,
											},
											File:   "map_with_obj_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   48,
											},
											File:   "map_with_obj_test.flux",
											Source: "(r) => ({r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        })",
											Start: ast.Position{
												Column: 13,
												Line:   40,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 11,
													Line:   48,
												},
												File:   "map_with_obj_test.flux",
												Source: "({r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        })",
												Start: ast.Position{
													Column: 20,
													Line:   40,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 10,
														Line:   48,
													},
													File:   "map_with_obj_test.flux",
													Source: "{r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        }",
													Start: ast.Position{
														Column: 21,
														Line:   40,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   41,
														},
														File:   "map_with_obj_test.flux",
														Source: "boolAdd: int(v: obj.b) + r._value",
														Start: ast.Position{
															Column: 13,
															Line:   41,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 20,
																Line:   41,
															},
															File:   "map_with_obj_test.flux",
															Source: "boolAdd",
															Start: ast.Position{
																Column: 13,
																Line:   41,
															},
														},
													},
													Name: "boolAdd",
												},
												Separator: nil,
												Value: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 46,
																Line:   41,
															},
															File:   "map_with_obj_test.flux",
															Source: "int(v: obj.b) + r._value",
															Start: ast.Position{
																Column: 22,
																Line:   41,
															},
														},
													},
													Left: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 34,
																		Line:   41,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "v: obj.b",
																	Start: ast.Position{
																		Column: 26,
																		Line:   41,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 34,
																			Line:   41,
																		},
																		File:   "map_with_obj_test.flux",
																		Source: "v: obj.b",
																		Start: ast.Position{
																			Column: 26,
																			Line:   41,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 27,
																				Line:   41,
																			},
																			File:   "map_with_obj_test.flux",
																			Source: "v",
																			Start: ast.Position{
																				Column: 26,
																				Line:   41,
																			},
																		},
																	},
																	Name: "v",
																},
																Separator: nil,
																Value: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 34,
																				Line:   41,
																			},
																			File:   "map_with_obj_test.flux",
																			Source: "obj.b",
																			Start: ast.Position{
																				Column: 29,
																				Line:   41,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 32,
																					Line:   41,
																				},
																				File:   "map_with_obj_test.flux",
																				Source: "obj",
																				Start: ast.Position{
																					Column: 29,
																					Line:   41,
																				},
																			},
																		},
																		Name: "obj",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 34,
																					Line:   41,
																				},
																				File:   "map_with_obj_test.flux",
																				Source: "b",
																				Start: ast.Position{
																					Column: 33,
																					Line:   41,
																				},
																			},
																		},
																		Name: "b",
																	},
																	Rbrack: nil,
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   41,
																},
																File:   "map_with_obj_test.flux",
																Source: "int(v: obj.b)",
																Start: ast.Position{
																	Column: 22,
																	Line:   41,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   41,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "int",
																	Start: ast.Position{
																		Column: 22,
																		Line:   41,
																	},
																},
															},
															Name: "int",
														},
														Lparen: nil,
														Rparen: nil,
													},
													Operator: 5,
													Right: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 46,
																	Line:   41,
																},
																File:   "map_with_obj_test.flux",
																Source: "r._value",
																Start: ast.Position{
																	Column: 38,
																	Line:   41,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 39,
																		Line:   41,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 38,
																		Line:   41,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 46,
																		Line:   41,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 40,
																		Line:   41,
																	},
																},
															},
															Name: "_value",
														},
														Rbrack: nil,
													},
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 37,
															Line:   42,
														},
														File:   "map_with_obj_test.flux",
														Source: "intAdd: obj.i + r._value",
														Start: ast.Position{
															Column: 13,
															Line:   42,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 19,
																Line:   42,
															},
															File:   "map_with_obj_test.flux",
															Source: "intAdd",
															Start: ast.Position{
																Column: 13,
																Line:   42,
															},
														},
													},
													Name: "intAdd",
												},
												Separator: nil,
												Value: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 37,
																Line:   42,
															},
															File:   "map_with_obj_test.flux",
															Source: "obj.i + r._value",
															Start: ast.Position{
																Column: 21,
																Line:   42,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 26,
																	Line:   42,
																},
																File:   "map_with_obj_test.flux",
																Source: "obj.i",
																Start: ast.Position{
																	Column: 21,
																	Line:   42,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 24,
																		Line:   42,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "obj",
																	Start: ast.Position{
																		Column: 21,
																		Line:   42,
																	},
																},
															},
															Name: "obj",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 26,
																		Line:   42,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "i",
																	Start: ast.Position{
																		Column: 25,
																		Line:   42,
																	},
																},
															},
															Name: "i",
														},
														Rbrack: nil,
													},
													Operator: 5,
													Right: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 37,
																	Line:   42,
																},
																File:   "map_with_obj_test.flux",
																Source: "r._value",
																Start: ast.Position{
																	Column: 29,
																	Line:   42,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 30,
																		Line:   42,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 29,
																		Line:   42,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 37,
																		Line:   42,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 31,
																		Line:   42,
																	},
																},
															},
															Name: "_value",
														},
														Rbrack: nil,
													},
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   43,
														},
														File:   "map_with_obj_test.flux",
														Source: "floatAdd: int(v: obj.d) + r._value",
														Start: ast.Position{
															Column: 13,
															Line:   43,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   43,
															},
															File:   "map_with_obj_test.flux",
															Source: "floatAdd",
															Start: ast.Position{
																Column: 13,
																Line:   43,
															},
														},
													},
													Name: "floatAdd",
												},
												Separator: nil,
												Value: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   43,
															},
															File:   "map_with_obj_test.flux",
															Source: "int(v: obj.d) + r._value",
															Start: ast.Position{
																Column: 23,
																Line:   43,
															},
														},
													},
													Left: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 35,
																		Line:   43,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "v: obj.d",
																	Start: ast.Position{
																		Column: 27,
																		Line:   43,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 35,
																			Line:   43,
																		},
																		File:   "map_with_obj_test.flux",
																		Source: "v: obj.d",
																		Start: ast.Position{
																			Column: 27,
																			Line:   43,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 28,
																				Line:   43,
																			},
																			File:   "map_with_obj_test.flux",
																			Source: "v",
																			Start: ast.Position{
																				Column: 27,
																				Line:   43,
																			},
																		},
																	},
																	Name: "v",
																},
																Separator: nil,
																Value: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 35,
																				Line:   43,
																			},
																			File:   "map_with_obj_test.flux",
																			Source: "obj.d",
																			Start: ast.Position{
																				Column: 30,
																				Line:   43,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 33,
																					Line:   43,
																				},
																				File:   "map_with_obj_test.flux",
																				Source: "obj",
																				Start: ast.Position{
																					Column: 30,
																					Line:   43,
																				},
																			},
																		},
																		Name: "obj",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 35,
																					Line:   43,
																				},
																				File:   "map_with_obj_test.flux",
																				Source: "d",
																				Start: ast.Position{
																					Column: 34,
																					Line:   43,
																				},
																			},
																		},
																		Name: "d",
																	},
																	Rbrack: nil,
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 36,
																	Line:   43,
																},
																File:   "map_with_obj_test.flux",
																Source: "int(v: obj.d)",
																Start: ast.Position{
																	Column: 23,
																	Line:   43,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 26,
																		Line:   43,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "int",
																	Start: ast.Position{
																		Column: 23,
																		Line:   43,
																	},
																},
															},
															Name: "int",
														},
														Lparen: nil,
														Rparen: nil,
													},
													Operator: 5,
													Right: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   43,
																},
																File:   "map_with_obj_test.flux",
																Source: "r._value",
																Start: ast.Position{
																	Column: 39,
																	Line:   43,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 40,
																		Line:   43,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 39,
																		Line:   43,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 47,
																		Line:   43,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 41,
																		Line:   43,
																	},
																},
															},
															Name: "_value",
														},
														Rbrack: nil,
													},
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   44,
														},
														File:   "map_with_obj_test.flux",
														Source: "uintAdd: int(v: obj.u) + r._value",
														Start: ast.Position{
															Column: 13,
															Line:   44,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 20,
																Line:   44,
															},
															File:   "map_with_obj_test.flux",
															Source: "uintAdd",
															Start: ast.Position{
																Column: 13,
																Line:   44,
															},
														},
													},
													Name: "uintAdd",
												},
												Separator: nil,
												Value: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 46,
																Line:   44,
															},
															File:   "map_with_obj_test.flux",
															Source: "int(v: obj.u) + r._value",
															Start: ast.Position{
																Column: 22,
																Line:   44,
															},
														},
													},
													Left: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 34,
																		Line:   44,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "v: obj.u",
																	Start: ast.Position{
																		Column: 26,
																		Line:   44,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 34,
																			Line:   44,
																		},
																		File:   "map_with_obj_test.flux",
																		Source: "v: obj.u",
																		Start: ast.Position{
																			Column: 26,
																			Line:   44,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 27,
																				Line:   44,
																			},
																			File:   "map_with_obj_test.flux",
																			Source: "v",
																			Start: ast.Position{
																				Column: 26,
																				Line:   44,
																			},
																		},
																	},
																	Name: "v",
																},
																Separator: nil,
																Value: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 34,
																				Line:   44,
																			},
																			File:   "map_with_obj_test.flux",
																			Source: "obj.u",
																			Start: ast.Position{
																				Column: 29,
																				Line:   44,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 32,
																					Line:   44,
																				},
																				File:   "map_with_obj_test.flux",
																				Source: "obj",
																				Start: ast.Position{
																					Column: 29,
																					Line:   44,
																				},
																			},
																		},
																		Name: "obj",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 34,
																					Line:   44,
																				},
																				File:   "map_with_obj_test.flux",
																				Source: "u",
																				Start: ast.Position{
																					Column: 33,
																					Line:   44,
																				},
																			},
																		},
																		Name: "u",
																	},
																	Rbrack: nil,
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   44,
																},
																File:   "map_with_obj_test.flux",
																Source: "int(v: obj.u)",
																Start: ast.Position{
																	Column: 22,
																	Line:   44,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   44,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "int",
																	Start: ast.Position{
																		Column: 22,
																		Line:   44,
																	},
																},
															},
															Name: "int",
														},
														Lparen: nil,
														Rparen: nil,
													},
													Operator: 5,
													Right: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 46,
																	Line:   44,
																},
																File:   "map_with_obj_test.flux",
																Source: "r._value",
																Start: ast.Position{
																	Column: 38,
																	Line:   44,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 39,
																		Line:   44,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 38,
																		Line:   44,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 46,
																		Line:   44,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 40,
																		Line:   44,
																	},
																},
															},
															Name: "_value",
														},
														Rbrack: nil,
													},
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 26,
															Line:   45,
														},
														File:   "map_with_obj_test.flux",
														Source: "string: obj.s",
														Start: ast.Position{
															Column: 13,
															Line:   45,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 19,
																Line:   45,
															},
															File:   "map_with_obj_test.flux",
															Source: "string",
															Start: ast.Position{
																Column: 13,
																Line:   45,
															},
														},
													},
													Name: "string",
												},
												Separator: nil,
												Value: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   45,
															},
															File:   "map_with_obj_test.flux",
															Source: "obj.s",
															Start: ast.Position{
																Column: 21,
																Line:   45,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 24,
																	Line:   45,
																},
																File:   "map_with_obj_test.flux",
																Source: "obj",
																Start: ast.Position{
																	Column: 21,
																	Line:   45,
																},
															},
														},
														Name: "obj",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 26,
																	Line:   45,
																},
																File:   "map_with_obj_test.flux",
																Source: "s",
																Start: ast.Position{
																	Column: 25,
																	Line:   45,
																},
															},
														},
														Name: "s",
													},
													Rbrack: nil,
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   46,
														},
														File:   "map_with_obj_test.flux",
														Source: "time: obj.t",
														Start: ast.Position{
															Column: 13,
															Line:   46,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   46,
															},
															File:   "map_with_obj_test.flux",
															Source: "time",
															Start: ast.Position{
																Column: 13,
																Line:   46,
															},
														},
													},
													Name: "time",
												},
												Separator: nil,
												Value: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 24,
																Line:   46,
															},
															File:   "map_with_obj_test.flux",
															Source: "obj.t",
															Start: ast.Position{
																Column: 19,
																Line:   46,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 22,
																	Line:   46,
																},
																File:   "map_with_obj_test.flux",
																Source: "obj",
																Start: ast.Position{
																	Column: 19,
																	Line:   46,
																},
															},
														},
														Name: "obj",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 24,
																	Line:   46,
																},
																File:   "map_with_obj_test.flux",
																Source: "t",
																Start: ast.Position{
																	Column: 23,
																	Line:   46,
																},
															},
														},
														Name: "t",
													},
													Rbrack: nil,
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 37,
															Line:   47,
														},
														File:   "map_with_obj_test.flux",
														Source: "array: arr[0] + r._value",
														Start: ast.Position{
															Column: 13,
															Line:   47,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 18,
																Line:   47,
															},
															File:   "map_with_obj_test.flux",
															Source: "array",
															Start: ast.Position{
																Column: 13,
																Line:   47,
															},
														},
													},
													Name: "array",
												},
												Separator: nil,
												Value: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 37,
																Line:   47,
															},
															File:   "map_with_obj_test.flux",
															Source: "arr[0] + r._value",
															Start: ast.Position{
																Column: 20,
																Line:   47,
															},
														},
													},
													Left: &ast.IndexExpression{
														Array: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   47,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "arr",
																	Start: ast.Position{
																		Column: 20,
																		Line:   47,
																	},
																},
															},
															Name: "arr",
														},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 26,
																	Line:   47,
																},
																File:   "map_with_obj_test.flux",
																Source: "arr[0]",
																Start: ast.Position{
																	Column: 20,
																	Line:   47,
																},
															},
														},
														Index: &ast.IntegerLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   47,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "0",
																	Start: ast.Position{
																		Column: 24,
																		Line:   47,
																	},
																},
															},
															Value: int64(0),
														},
														Lbrack: nil,
														Rbrack: nil,
													},
													Operator: 5,
													Right: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 37,
																	Line:   47,
																},
																File:   "map_with_obj_test.flux",
																Source: "r._value",
																Start: ast.Position{
																	Column: 29,
																	Line:   47,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 30,
																		Line:   47,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 29,
																		Line:   47,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 37,
																		Line:   47,
																	},
																	File:   "map_with_obj_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 31,
																		Line:   47,
																	},
																},
															},
															Name: "_value",
														},
														Rbrack: nil,
													},
												},
											}},
											Rbrace: nil,
											With: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 23,
															Line:   40,
														},
														File:   "map_with_obj_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 22,
															Line:   40,
														},
													},
												},
												Name: "r",
											},
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   40,
												},
												File:   "map_with_obj_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 14,
													Line:   40,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   40,
													},
													File:   "map_with_obj_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 14,
														Line:   40,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   49,
								},
								File:   "map_with_obj_test.flux",
								Source: "map(\n        fn: (r) => ({r with\n            boolAdd: int(v: obj.b) + r._value,\n            intAdd: obj.i + r._value,\n            floatAdd: int(v: obj.d) + r._value,\n            uintAdd: int(v: obj.u) + r._value,\n            string: obj.s,\n            time: obj.t,\n            array: arr[0] + r._value,\n        }),\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   39,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   39,
									},
									File:   "map_with_obj_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   37,
							},
							File:   "map_with_obj_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   37,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   37,
								},
								File:   "map_with_obj_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   37,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   37,
							},
							File:   "map_with_obj_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   37,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   51,
						},
						File:   "map_with_obj_test.flux",
						Source: "_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
						Start: ast.Position{
							Column: 6,
							Line:   51,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   51,
							},
							File:   "map_with_obj_test.flux",
							Source: "_map",
							Start: ast.Position{
								Column: 6,
								Line:   51,
							},
						},
					},
					Name: "_map",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   51,
							},
							File:   "map_with_obj_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
							Start: ast.Position{
								Column: 13,
								Line:   51,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   51,
								},
								File:   "map_with_obj_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
								Start: ast.Position{
									Column: 19,
									Line:   51,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   51,
									},
									File:   "map_with_obj_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map}",
									Start: ast.Position{
										Column: 20,
										Line:   51,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   51,
										},
										File:   "map_with_obj_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   51,
											},
											File:   "map_with_obj_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   51,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   51,
												},
												File:   "map_with_obj_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   51,
													},
													File:   "map_with_obj_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   51,
														},
														File:   "map_with_obj_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   51,
														},
														File:   "map_with_obj_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   51,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   51,
											},
											File:   "map_with_obj_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   51,
												},
												File:   "map_with_obj_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   51,
													},
													File:   "map_with_obj_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   51,
													},
													File:   "map_with_obj_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   51,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   51,
										},
										File:   "map_with_obj_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   51,
											},
											File:   "map_with_obj_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   51,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   51,
												},
												File:   "map_with_obj_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   51,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   51,
													},
													File:   "map_with_obj_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   51,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   51,
														},
														File:   "map_with_obj_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   51,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   51,
														},
														File:   "map_with_obj_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   51,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   51,
											},
											File:   "map_with_obj_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   51,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   51,
												},
												File:   "map_with_obj_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   51,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   51,
													},
													File:   "map_with_obj_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   51,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   51,
													},
													File:   "map_with_obj_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   51,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   51,
										},
										File:   "map_with_obj_test.flux",
										Source: "fn: t_map",
										Start: ast.Position{
											Column: 99,
											Line:   51,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   51,
											},
											File:   "map_with_obj_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   51,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   51,
											},
											File:   "map_with_obj_test.flux",
											Source: "t_map",
											Start: ast.Position{
												Column: 103,
												Line:   51,
											},
										},
									},
									Name: "t_map",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   51,
					},
					File:   "map_with_obj_test.flux",
					Source: "test _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_map})",
					Start: ast.Position{
						Column: 1,
						Line:   51,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "//\n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   5,
					},
					File:   "map_with_obj_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   5,
						},
						File:   "map_with_obj_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "map_with_obj_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "map_with_obj_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "map_with_obj_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 123,
					Line:   32,
				},
				File:   "math_fn_constant_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"math\"\n\noption now = () => 2018-05-23T20:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-23T19:53:30Z,1.0,diameter,turbine\n,,0,2018-05-23T19:53:40Z,2.0,diameter,turbine\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,double,string,string\n#group,false,false,false,false,false,true,true\n#default,_result,,,,,,\n,result,table,_time,diameter,circumference,_field,_measurement\n,,0,2018-05-23T19:53:30Z,1.0,3.141592653589793,diameter,turbine\n,,0,2018-05-23T19:53:40Z,2.0,6.283185307179586,diameter,turbine\n\"\nt_math_pi = (table=<-) => table\n    |> range(start: -10m)\n    |> filter(fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\")\n    |> rename(columns: {_value: \"diameter\"})\n    |> map(fn: (r) => ({r with circumference: r.diameter * math.pi}))\n    |> drop(columns: [\"_value\", \"_start\", \"_stop\"])\n\ntest _math_pi_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_math_pi})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "math_fn_constant_test.flux",
						Source: "now = () => 2018-05-23T20:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "math_fn_constant_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "math_fn_constant_test.flux",
							Source: "() => 2018-05-23T20:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "math_fn_constant_test.flux",
								Source: "2018-05-23T20:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2018-05-23T20:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "math_fn_constant_test.flux",
					Source: "option now = () => 2018-05-23T20:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   16,
					},
					File:   "math_fn_constant_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-23T19:53:30Z,1.0,diameter,turbine\n,,0,2018-05-23T19:53:40Z,2.0,diameter,turbine\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "math_fn_constant_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   16,
						},
						File:   "math_fn_constant_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-23T19:53:30Z,1.0,diameter,turbine\n,,0,2018-05-23T19:53:40Z,2.0,diameter,turbine\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-23T19:53:30Z,1.0,diameter,turbine\n,,0,2018-05-23T19:53:40Z,2.0,diameter,turbine\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   24,
					},
					File:   "math_fn_constant_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,double,string,string\n#group,false,false,false,false,false,true,true\n#default,_result,,,,,,\n,result,table,_time,diameter,circumference,_field,_measurement\n,,0,2018-05-23T19:53:30Z,1.0,3.141592653589793,diameter,turbine\n,,0,2018-05-23T19:53:40Z,2.0,6.283185307179586,diameter,turbine\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   17,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   17,
						},
						File:   "math_fn_constant_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   17,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   24,
						},
						File:   "math_fn_constant_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,double,string,string\n#group,false,false,false,false,false,true,true\n#default,_result,,,,,,\n,result,table,_time,diameter,circumference,_field,_measurement\n,,0,2018-05-23T19:53:30Z,1.0,3.141592653589793,diameter,turbine\n,,0,2018-05-23T19:53:40Z,2.0,6.283185307179586,diameter,turbine\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   17,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,double,string,string\n#group,false,false,false,false,false,true,true\n#default,_result,,,,,,\n,result,table,_time,diameter,circumference,_field,_measurement\n,,0,2018-05-23T19:53:30Z,1.0,3.141592653589793,diameter,turbine\n,,0,2018-05-23T19:53:40Z,2.0,6.283185307179586,diameter,turbine\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 52,
						Line:   30,
					},
					File:   "math_fn_constant_test.flux",
					Source: "t_math_pi = (table=<-) => table\n    |> range(start: -10m)\n    |> filter(fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\")\n    |> rename(columns: {_value: \"diameter\"})\n    |> map(fn: (r) => ({r with circumference: r.diameter * math.pi}))\n    |> drop(columns: [\"_value\", \"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   25,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   25,
						},
						File:   "math_fn_constant_test.flux",
						Source: "t_math_pi",
						Start: ast.Position{
							Column: 1,
							Line:   25,
						},
					},
				},
				Name: "t_math_pi",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 52,
							Line:   30,
						},
						File:   "math_fn_constant_test.flux",
						Source: "(table=<-) => table\n    |> range(start: -10m)\n    |> filter(fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\")\n    |> rename(columns: {_value: \"diameter\"})\n    |> map(fn: (r) => ({r with circumference: r.diameter * math.pi}))\n    |> drop(columns: [\"_value\", \"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 13,
							Line:   25,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   25,
												},
												File:   "math_fn_constant_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 27,
													Line:   25,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   26,
											},
											File:   "math_fn_constant_test.flux",
											Source: "table\n    |> range(start: -10m)",
											Start: ast.Position{
												Column: 27,
												Line:   25,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   26,
													},
													File:   "math_fn_constant_test.flux",
													Source: "start: -10m",
													Start: ast.Position{
														Column: 14,
														Line:   26,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 25,
															Line:   26,
														},
														File:   "math_fn_constant_test.flux",
														Source: "start: -10m",
														Start: ast.Position{
															Column: 14,
															Line:   26,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 19,
																Line:   26,
															},
															File:   "math_fn_constant_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 14,
																Line:   26,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.UnaryExpression{
													Argument: &ast.DurationLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   26,
																},
																File:   "math_fn_constant_test.flux",
																Source: "10m",
																Start: ast.Position{
																	Column: 22,
																	Line:   26,
																},
															},
														},
														Values: []ast.Duration{ast.Duration{
															Magnitude: int64(10),
															Unit:      "m",
														}},
													},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   26,
															},
															File:   "math_fn_constant_test.flux",
															Source: "-10m",
															Start: ast.Position{
																Column: 21,
																Line:   26,
															},
														},
													},
													Operator: 6,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   26,
												},
												File:   "math_fn_constant_test.flux",
												Source: "range(start: -10m)",
												Start: ast.Position{
													Column: 8,
													Line:   26,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   26,
													},
													File:   "math_fn_constant_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 8,
														Line:   26,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 81,
											Line:   27,
										},
										File:   "math_fn_constant_test.flux",
										Source: "table\n    |> range(start: -10m)\n    |> filter(fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\")",
										Start: ast.Position{
											Column: 27,
											Line:   25,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 80,
													Line:   27,
												},
												File:   "math_fn_constant_test.flux",
												Source: "fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\"",
												Start: ast.Position{
													Column: 15,
													Line:   27,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   27,
													},
													File:   "math_fn_constant_test.flux",
													Source: "fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\"",
													Start: ast.Position{
														Column: 15,
														Line:   27,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   27,
														},
														File:   "math_fn_constant_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 15,
															Line:   27,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 80,
															Line:   27,
														},
														File:   "math_fn_constant_test.flux",
														Source: "(r) => r._measurement == \"turbine\" and r._field == \"diameter\"",
														Start: ast.Position{
															Column: 19,
															Line:   27,
														},
													},
												},
												Body: &ast.LogicalExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 80,
																Line:   27,
															},
															File:   "math_fn_constant_test.flux",
															Source: "r._measurement == \"turbine\" and r._field == \"diameter\"",
															Start: ast.Position{
																Column: 26,
																Line:   27,
															},
														},
													},
													Left: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 53,
																	Line:   27,
																},
																File:   "math_fn_constant_test.flux",
																Source: "r._measurement == \"turbine\"",
																Start: ast.Position{
																	Column: 26,
																	Line:   27,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 40,
																		Line:   27,
																	},
																	File:   "math_fn_constant_test.flux",
																	Source: "r._measurement",
																	Start: ast.Position{
																		Column: 26,
																		Line:   27,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 27,
																			Line:   27,
																		},
																		File:   "math_fn_constant_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 26,
																			Line:   27,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 40,
																			Line:   27,
																		},
																		File:   "math_fn_constant_test.flux",
																		Source: "_measurement",
																		Start: ast.Position{
																			Column: 28,
																			Line:   27,
																		},
																	},
																},
																Name: "_measurement",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 53,
																		Line:   27,
																	},
																	File:   "math_fn_constant_test.flux",
																	Source: "\"turbine\"",
																	Start: ast.Position{
																		Column: 44,
																		Line:   27,
																	},
																},
															},
															Value: "turbine",
														},
													},
													Operator: 1,
													Right: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 80,
																	Line:   27,
																},
																File:   "math_fn_constant_test.flux",
																Source: "r._field == \"diameter\"",
																Start: ast.Position{
																	Column: 58,
																	Line:   27,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 66,
																		Line:   27,
																	},
																	File:   "math_fn_constant_test.flux",
																	Source: "r._field",
																	Start: ast.Position{
																		Column: 58,
																		Line:   27,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 59,
																			Line:   27,
																		},
																		File:   "math_fn_constant_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 58,
																			Line:   27,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 66,
																			Line:   27,
																		},
																		File:   "math_fn_constant_test.flux",
																		Source: "_field",
																		Start: ast.Position{
																			Column: 60,
																			Line:   27,
																		},
																	},
																},
																Name: "_field",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 80,
																		Line:   27,
																	},
																	File:   "math_fn_constant_test.flux",
																	Source: "\"diameter\"",
																	Start: ast.Position{
																		Column: 70,
																		Line:   27,
																	},
																},
															},
															Value: "diameter",
														},
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   27,
															},
															File:   "math_fn_constant_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 20,
																Line:   27,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 21,
																	Line:   27,
																},
																File:   "math_fn_constant_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 20,
																	Line:   27,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   27,
											},
											File:   "math_fn_constant_test.flux",
											Source: "filter(fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\")",
											Start: ast.Position{
												Column: 8,
												Line:   27,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   27,
												},
												File:   "math_fn_constant_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 8,
													Line:   27,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   28,
									},
									File:   "math_fn_constant_test.flux",
									Source: "table\n    |> range(start: -10m)\n    |> filter(fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\")\n    |> rename(columns: {_value: \"diameter\"})",
									Start: ast.Position{
										Column: 27,
										Line:   25,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   28,
											},
											File:   "math_fn_constant_test.flux",
											Source: "columns: {_value: \"diameter\"}",
											Start: ast.Position{
												Column: 15,
												Line:   28,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   28,
												},
												File:   "math_fn_constant_test.flux",
												Source: "columns: {_value: \"diameter\"}",
												Start: ast.Position{
													Column: 15,
													Line:   28,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 22,
														Line:   28,
													},
													File:   "math_fn_constant_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 15,
														Line:   28,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   28,
													},
													File:   "math_fn_constant_test.flux",
													Source: "{_value: \"diameter\"}",
													Start: ast.Position{
														Column: 24,
														Line:   28,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   28,
														},
														File:   "math_fn_constant_test.flux",
														Source: "_value: \"diameter\"",
														Start: ast.Position{
															Column: 25,
															Line:   28,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 31,
																Line:   28,
															},
															File:   "math_fn_constant_test.flux",
															Source: "_value",
															Start: ast.Position{
																Column: 25,
																Line:   28,
															},
														},
													},
													Name: "_value",
												},
												Separator: nil,
												Value: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 43,
																Line:   28,
															},
															File:   "math_fn_constant_test.flux",
															Source: "\"diameter\"",
															Start: ast.Position{
																Column: 33,
																Line:   28,
															},
														},
													},
													Value: "diameter",
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   28,
										},
										File:   "math_fn_constant_test.flux",
										Source: "rename(columns: {_value: \"diameter\"})",
										Start: ast.Position{
											Column: 8,
											Line:   28,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   28,
											},
											File:   "math_fn_constant_test.flux",
											Source: "rename",
											Start: ast.Position{
												Column: 8,
												Line:   28,
											},
										},
									},
									Name: "rename",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   29,
								},
								File:   "math_fn_constant_test.flux",
								Source: "table\n    |> range(start: -10m)\n    |> filter(fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\")\n    |> rename(columns: {_value: \"diameter\"})\n    |> map(fn: (r) => ({r with circumference: r.diameter * math.pi}))",
								Start: ast.Position{
									Column: 27,
									Line:   25,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   29,
										},
										File:   "math_fn_constant_test.flux",
										Source: "fn: (r) => ({r with circumference: r.diameter * math.pi})",
										Start: ast.Position{
											Column: 12,
											Line:   29,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   29,
											},
											File:   "math_fn_constant_test.flux",
											Source: "fn: (r) => ({r with circumference: r.diameter * math.pi})",
											Start: ast.Position{
												Column: 12,
												Line:   29,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   29,
												},
												File:   "math_fn_constant_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 12,
													Line:   29,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   29,
												},
												File:   "math_fn_constant_test.flux",
												Source: "(r) => ({r with circumference: r.diameter * math.pi})",
												Start: ast.Position{
													Column: 16,
													Line:   29,
												},
											},
										},
										Body: &ast.ParenExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   29,
													},
													File:   "math_fn_constant_test.flux",
													Source: "({r with circumference: r.diameter * math.pi})",
													Start: ast.Position{
														Column: 23,
														Line:   29,
													},
												},
											},
											Expression: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   29,
														},
														File:   "math_fn_constant_test.flux",
														Source: "{r with circumference: r.diameter * math.pi}",
														Start: ast.Position{
															Column: 24,
															Line:   29,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 67,
																Line:   29,
															},
															File:   "math_fn_constant_test.flux",
															Source: "circumference: r.diameter * math.pi",
															Start: ast.Position{
																Column: 32,
																Line:   29,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   29,
																},
																File:   "math_fn_constant_test.flux",
																Source: "circumference",
																Start: ast.Position{
																	Column: 32,
																	Line:   29,
																},
															},
														},
														Name: "circumference",
													},
													Separator: nil,
													Value: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 67,
																	Line:   29,
																},
																File:   "math_fn_constant_test.flux",
																Source: "r.diameter * math.pi",
																Start: ast.Position{
																	Column: 47,
																	Line:   29,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 57,
																		Line:   29,
																	},
																	File:   "math_fn_constant_test.flux",
																	Source: "r.diameter",
																	Start: ast.Position{
																		Column: 47,
																		Line:   29,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 48,
																			Line:   29,
																		},
																		File:   "math_fn_constant_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 47,
																			Line:   29,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 57,
																			Line:   29,
																		},
																		File:   "math_fn_constant_test.flux",
																		Source: "diameter",
																		Start: ast.Position{
																			Column: 49,
																			Line:   29,
																		},
																	},
																},
																Name: "diameter",
															},
															Rbrack: nil,
														},
														Operator: 1,
														Right: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 67,
																		Line:   29,
																	},
																	File:   "math_fn_constant_test.flux",
																	Source: "math.pi",
																	Start: ast.Position{
																		Column: 60,
																		Line:   29,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 64,
																			Line:   29,
																		},
																		File:   "math_fn_constant_test.flux",
																		Source: "math",
																		Start: ast.Position{
																			Column: 60,
																			Line:   29,
																		},
																	},
																},
																Name: "math",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 67,
																			Line:   29,
																		},
																		File:   "math_fn_constant_test.flux",
																		Source: "pi",
																		Start: ast.Position{
																			Column: 65,
																			Line:   29,
																		},
																	},
																},
																Name: "pi",
															},
															Rbrack: nil,
														},
													},
												}},
												Rbrace: nil,
												With: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   29,
															},
															File:   "math_fn_constant_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 25,
																Line:   29,
															},
														},
													},
													Name: "r",
												},
											},
											Lparen: nil,
											Rparen: nil,
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   29,
													},
													File:   "math_fn_constant_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   29,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   29,
														},
														File:   "math_fn_constant_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 17,
															Line:   29,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   29,
									},
									File:   "math_fn_constant_test.flux",
									Source: "map(fn: (r) => ({r with circumference: r.diameter * math.pi}))",
									Start: ast.Position{
										Column: 8,
										Line:   29,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   29,
										},
										File:   "math_fn_constant_test.flux",
										Source: "map",
										Start: ast.Position{
											Column: 8,
											Line:   29,
										},
									},
								},
								Name: "map",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 52,
								Line:   30,
							},
							File:   "math_fn_constant_test.flux",
							Source: "table\n    |> range(start: -10m)\n    |> filter(fn: (r) => r._measurement == \"turbine\" and r._field == \"diameter\")\n    |> rename(columns: {_value: \"diameter\"})\n    |> map(fn: (r) => ({r with circumference: r.diameter * math.pi}))\n    |> drop(columns: [\"_value\", \"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 27,
								Line:   25,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 51,
										Line:   30,
									},
									File:   "math_fn_constant_test.flux",
									Source: "columns: [\"_value\", \"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   30,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 51,
											Line:   30,
										},
										File:   "math_fn_constant_test.flux",
										Source: "columns: [\"_value\", \"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   30,
											},
											File:   "math_fn_constant_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   30,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   30,
											},
											File:   "math_fn_constant_test.flux",
											Source: "[\"_value\", \"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   30,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   30,
												},
												File:   "math_fn_constant_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 23,
													Line:   30,
												},
											},
										},
										Value: "_value",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   30,
												},
												File:   "math_fn_constant_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 33,
													Line:   30,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   30,
												},
												File:   "math_fn_constant_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 43,
													Line:   30,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 52,
									Line:   30,
								},
								File:   "math_fn_constant_test.flux",
								Source: "drop(columns: [\"_value\", \"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   30,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   30,
									},
									File:   "math_fn_constant_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   30,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   25,
							},
							File:   "math_fn_constant_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 14,
								Line:   25,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   25,
								},
								File:   "math_fn_constant_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 14,
									Line:   25,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   25,
							},
							File:   "math_fn_constant_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 20,
								Line:   25,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 123,
							Line:   32,
						},
						File:   "math_fn_constant_test.flux",
						Source: "_math_pi_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_math_pi})",
						Start: ast.Position{
							Column: 6,
							Line:   32,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   32,
							},
							File:   "math_fn_constant_test.flux",
							Source: "_math_pi_test",
							Start: ast.Position{
								Column: 6,
								Line:   32,
							},
						},
					},
					Name: "_math_pi_test",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 123,
								Line:   32,
							},
							File:   "math_fn_constant_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_math_pi})",
							Start: ast.Position{
								Column: 22,
								Line:   32,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 123,
									Line:   32,
								},
								File:   "math_fn_constant_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_math_pi})",
								Start: ast.Position{
									Column: 28,
									Line:   32,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 122,
										Line:   32,
									},
									File:   "math_fn_constant_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_math_pi}",
									Start: ast.Position{
										Column: 29,
										Line:   32,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   32,
										},
										File:   "math_fn_constant_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 30,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   32,
											},
											File:   "math_fn_constant_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 30,
												Line:   32,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   32,
												},
												File:   "math_fn_constant_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 57,
													Line:   32,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   32,
													},
													File:   "math_fn_constant_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 57,
														Line:   32,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   32,
														},
														File:   "math_fn_constant_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 57,
															Line:   32,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   32,
														},
														File:   "math_fn_constant_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 62,
															Line:   32,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   32,
											},
											File:   "math_fn_constant_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 37,
												Line:   32,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   32,
												},
												File:   "math_fn_constant_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 37,
													Line:   32,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   32,
													},
													File:   "math_fn_constant_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 37,
														Line:   32,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   32,
													},
													File:   "math_fn_constant_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 45,
														Line:   32,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   32,
										},
										File:   "math_fn_constant_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 71,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   32,
											},
											File:   "math_fn_constant_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 71,
												Line:   32,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 105,
													Line:   32,
												},
												File:   "math_fn_constant_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 93,
													Line:   32,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   32,
													},
													File:   "math_fn_constant_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 93,
														Line:   32,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   32,
														},
														File:   "math_fn_constant_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 93,
															Line:   32,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   32,
														},
														File:   "math_fn_constant_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 98,
															Line:   32,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   32,
											},
											File:   "math_fn_constant_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 77,
												Line:   32,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   32,
												},
												File:   "math_fn_constant_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 77,
													Line:   32,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   32,
													},
													File:   "math_fn_constant_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 77,
														Line:   32,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   32,
													},
													File:   "math_fn_constant_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 85,
														Line:   32,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 121,
											Line:   32,
										},
										File:   "math_fn_constant_test.flux",
										Source: "fn: t_math_pi",
										Start: ast.Position{
											Column: 108,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   32,
											},
											File:   "math_fn_constant_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 108,
												Line:   32,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 121,
												Line:   32,
											},
											File:   "math_fn_constant_test.flux",
											Source: "t_math_pi",
											Start: ast.Position{
												Column: 112,
												Line:   32,
											},
										},
									},
									Name: "t_math_pi",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 123,
						Line:   32,
					},
					File:   "math_fn_constant_test.flux",
					Source: "test _math_pi_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_math_pi})",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "math_fn_constant_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "math_fn_constant_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   5,
					},
					File:   "math_fn_constant_test.flux",
					Source: "import \"math\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   5,
						},
						File:   "math_fn_constant_test.flux",
						Source: "\"math\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "math",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "math_fn_constant_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "math_fn_constant_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "math_fn_constant_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   45,
				},
				File:   "math_m_max_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"math\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:30Z,1.2,active,mem\n,,0,2018-05-23T19:53:40Z,5.7,active,mem\n,,0,2018-05-24T19:53:50Z,56.4,active,mem\n,,0,2018-05-25T19:54:00Z,93.2,active,mem\n,,0,2018-05-26T19:54:10Z,34.9,active,mem\n,,0,2018-05-27T19:54:20Z,11.1,active,mem\n,,1,2018-05-22T19:53:30Z,12.3,f,m2\n,,1,2018-05-23T19:53:40Z,15.2,f,m2\n,,1,2018-05-24T19:53:50Z,43.1,f,m2\n,,1,2018-05-25T19:54:00Z,21.9,f,m2\n,,1,2018-05-26T19:54:10Z,32.5,f,m2\n,,1,2018-05-27T19:54:20Z,75.2,f,m2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-24T00:00:00Z,4.5\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-25T00:00:00Z,50.699999999999996\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-26T00:00:00Z,36.800000000000004\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-27T00:00:00Z,0\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-28T00:00:00Z,0\n\"\nt_mmax = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> aggregateWindow(every: 1d, fn: mean, createEmpty: false)\n    |> difference(nonNegative: false, columns: [\"_value\"])\n    |> map(fn: (r) => ({r with _value: math.mMax(x: r._value, y: 0.0)}))\n\ntest _mmax = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mmax})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "math_m_max_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "math_m_max_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "math_m_max_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "math_m_max_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "math_m_max_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "math_m_max_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:30Z,1.2,active,mem\n,,0,2018-05-23T19:53:40Z,5.7,active,mem\n,,0,2018-05-24T19:53:50Z,56.4,active,mem\n,,0,2018-05-25T19:54:00Z,93.2,active,mem\n,,0,2018-05-26T19:54:10Z,34.9,active,mem\n,,0,2018-05-27T19:54:20Z,11.1,active,mem\n,,1,2018-05-22T19:53:30Z,12.3,f,m2\n,,1,2018-05-23T19:53:40Z,15.2,f,m2\n,,1,2018-05-24T19:53:50Z,43.1,f,m2\n,,1,2018-05-25T19:54:00Z,21.9,f,m2\n,,1,2018-05-26T19:54:10Z,32.5,f,m2\n,,1,2018-05-27T19:54:20Z,75.2,f,m2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "math_m_max_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "math_m_max_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:30Z,1.2,active,mem\n,,0,2018-05-23T19:53:40Z,5.7,active,mem\n,,0,2018-05-24T19:53:50Z,56.4,active,mem\n,,0,2018-05-25T19:54:00Z,93.2,active,mem\n,,0,2018-05-26T19:54:10Z,34.9,active,mem\n,,0,2018-05-27T19:54:20Z,11.1,active,mem\n,,1,2018-05-22T19:53:30Z,12.3,f,m2\n,,1,2018-05-23T19:53:40Z,15.2,f,m2\n,,1,2018-05-24T19:53:50Z,43.1,f,m2\n,,1,2018-05-25T19:54:00Z,21.9,f,m2\n,,1,2018-05-26T19:54:10Z,32.5,f,m2\n,,1,2018-05-27T19:54:20Z,75.2,f,m2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:30Z,1.2,active,mem\n,,0,2018-05-23T19:53:40Z,5.7,active,mem\n,,0,2018-05-24T19:53:50Z,56.4,active,mem\n,,0,2018-05-25T19:54:00Z,93.2,active,mem\n,,0,2018-05-26T19:54:10Z,34.9,active,mem\n,,0,2018-05-27T19:54:20Z,11.1,active,mem\n,,1,2018-05-22T19:53:30Z,12.3,f,m2\n,,1,2018-05-23T19:53:40Z,15.2,f,m2\n,,1,2018-05-24T19:53:50Z,43.1,f,m2\n,,1,2018-05-25T19:54:00Z,21.9,f,m2\n,,1,2018-05-26T19:54:10Z,32.5,f,m2\n,,1,2018-05-27T19:54:20Z,75.2,f,m2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "math_m_max_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-24T00:00:00Z,4.5\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-25T00:00:00Z,50.699999999999996\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-26T00:00:00Z,36.800000000000004\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-27T00:00:00Z,0\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-28T00:00:00Z,0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   27,
						},
						File:   "math_m_max_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "math_m_max_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-24T00:00:00Z,4.5\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-25T00:00:00Z,50.699999999999996\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-26T00:00:00Z,36.800000000000004\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-27T00:00:00Z,0\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-28T00:00:00Z,0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   27,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_field,_measurement,_time,_value\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-24T00:00:00Z,4.5\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-25T00:00:00Z,50.699999999999996\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-26T00:00:00Z,36.800000000000004\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-27T00:00:00Z,0\n,,0,2018-05-22T19:53:26.000000000Z,2030-01-01T00:00:00.000000000Z,active,mem,2018-05-28T00:00:00Z,0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 73,
						Line:   43,
					},
					File:   "math_m_max_test.flux",
					Source: "t_mmax = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> aggregateWindow(every: 1d, fn: mean, createEmpty: false)\n    |> difference(nonNegative: false, columns: [\"_value\"])\n    |> map(fn: (r) => ({r with _value: math.mMax(x: r._value, y: 0.0)}))",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   38,
						},
						File:   "math_m_max_test.flux",
						Source: "t_mmax",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_mmax",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 73,
							Line:   43,
						},
						File:   "math_m_max_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> aggregateWindow(every: 1d, fn: mean, createEmpty: false)\n    |> difference(nonNegative: false, columns: [\"_value\"])\n    |> map(fn: (r) => ({r with _value: math.mMax(x: r._value, y: 0.0)}))",
						Start: ast.Position{
							Column: 10,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 29,
													Line:   38,
												},
												File:   "math_m_max_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 24,
													Line:   38,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   39,
											},
											File:   "math_m_max_test.flux",
											Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
											Start: ast.Position{
												Column: 24,
												Line:   38,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   39,
													},
													File:   "math_m_max_test.flux",
													Source: "start: 2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 14,
														Line:   39,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   39,
														},
														File:   "math_m_max_test.flux",
														Source: "start: 2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 14,
															Line:   39,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 19,
																Line:   39,
															},
															File:   "math_m_max_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 14,
																Line:   39,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   39,
															},
															File:   "math_m_max_test.flux",
															Source: "2018-05-22T19:53:26Z",
															Start: ast.Position{
																Column: 21,
																Line:   39,
															},
														},
													},
													Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   39,
												},
												File:   "math_m_max_test.flux",
												Source: "range(start: 2018-05-22T19:53:26Z)",
												Start: ast.Position{
													Column: 8,
													Line:   39,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   39,
													},
													File:   "math_m_max_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 8,
														Line:   39,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   40,
										},
										File:   "math_m_max_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")",
										Start: ast.Position{
											Column: 24,
											Line:   38,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   40,
												},
												File:   "math_m_max_test.flux",
												Source: "fn: (r) => r._measurement == \"mem\" and r._field == \"active\"",
												Start: ast.Position{
													Column: 15,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   40,
													},
													File:   "math_m_max_test.flux",
													Source: "fn: (r) => r._measurement == \"mem\" and r._field == \"active\"",
													Start: ast.Position{
														Column: 15,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   40,
														},
														File:   "math_m_max_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 15,
															Line:   40,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   40,
														},
														File:   "math_m_max_test.flux",
														Source: "(r) => r._measurement == \"mem\" and r._field == \"active\"",
														Start: ast.Position{
															Column: 19,
															Line:   40,
														},
													},
												},
												Body: &ast.LogicalExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 74,
																Line:   40,
															},
															File:   "math_m_max_test.flux",
															Source: "r._measurement == \"mem\" and r._field == \"active\"",
															Start: ast.Position{
																Column: 26,
																Line:   40,
															},
														},
													},
													Left: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 49,
																	Line:   40,
																},
																File:   "math_m_max_test.flux",
																Source: "r._measurement == \"mem\"",
																Start: ast.Position{
																	Column: 26,
																	Line:   40,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 40,
																		Line:   40,
																	},
																	File:   "math_m_max_test.flux",
																	Source: "r._measurement",
																	Start: ast.Position{
																		Column: 26,
																		Line:   40,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 27,
																			Line:   40,
																		},
																		File:   "math_m_max_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 26,
																			Line:   40,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 40,
																			Line:   40,
																		},
																		File:   "math_m_max_test.flux",
																		Source: "_measurement",
																		Start: ast.Position{
																			Column: 28,
																			Line:   40,
																		},
																	},
																},
																Name: "_measurement",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 49,
																		Line:   40,
																	},
																	File:   "math_m_max_test.flux",
																	Source: "\"mem\"",
																	Start: ast.Position{
																		Column: 44,
																		Line:   40,
																	},
																},
															},
															Value: "mem",
														},
													},
													Operator: 1,
													Right: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 74,
																	Line:   40,
																},
																File:   "math_m_max_test.flux",
																Source: "r._field == \"active\"",
																Start: ast.Position{
																	Column: 54,
																	Line:   40,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 62,
																		Line:   40,
																	},
																	File:   "math_m_max_test.flux",
																	Source: "r._field",
																	Start: ast.Position{
																		Column: 54,
																		Line:   40,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 55,
																			Line:   40,
																		},
																		File:   "math_m_max_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 54,
																			Line:   40,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 62,
																			Line:   40,
																		},
																		File:   "math_m_max_test.flux",
																		Source: "_field",
																		Start: ast.Position{
																			Column: 56,
																			Line:   40,
																		},
																	},
																},
																Name: "_field",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 74,
																		Line:   40,
																	},
																	File:   "math_m_max_test.flux",
																	Source: "\"active\"",
																	Start: ast.Position{
																		Column: 66,
																		Line:   40,
																	},
																},
															},
															Value: "active",
														},
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   40,
															},
															File:   "math_m_max_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 20,
																Line:   40,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 21,
																	Line:   40,
																},
																File:   "math_m_max_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 20,
																	Line:   40,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   40,
											},
											File:   "math_m_max_test.flux",
											Source: "filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")",
											Start: ast.Position{
												Column: 8,
												Line:   40,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   40,
												},
												File:   "math_m_max_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 8,
													Line:   40,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 64,
										Line:   41,
									},
									File:   "math_m_max_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> aggregateWindow(every: 1d, fn: mean, createEmpty: false)",
									Start: ast.Position{
										Column: 24,
										Line:   38,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   41,
											},
											File:   "math_m_max_test.flux",
											Source: "every: 1d, fn: mean, createEmpty: false",
											Start: ast.Position{
												Column: 24,
												Line:   41,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   41,
												},
												File:   "math_m_max_test.flux",
												Source: "every: 1d",
												Start: ast.Position{
													Column: 24,
													Line:   41,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 29,
														Line:   41,
													},
													File:   "math_m_max_test.flux",
													Source: "every",
													Start: ast.Position{
														Column: 24,
														Line:   41,
													},
												},
											},
											Name: "every",
										},
										Separator: nil,
										Value: &ast.DurationLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 33,
														Line:   41,
													},
													File:   "math_m_max_test.flux",
													Source: "1d",
													Start: ast.Position{
														Column: 31,
														Line:   41,
													},
												},
											},
											Values: []ast.Duration{ast.Duration{
												Magnitude: int64(1),
												Unit:      "d",
											}},
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   41,
												},
												File:   "math_m_max_test.flux",
												Source: "fn: mean",
												Start: ast.Position{
													Column: 35,
													Line:   41,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   41,
													},
													File:   "math_m_max_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 35,
														Line:   41,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   41,
													},
													File:   "math_m_max_test.flux",
													Source: "mean",
													Start: ast.Position{
														Column: 39,
														Line:   41,
													},
												},
											},
											Name: "mean",
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   41,
												},
												File:   "math_m_max_test.flux",
												Source: "createEmpty: false",
												Start: ast.Position{
													Column: 45,
													Line:   41,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   41,
													},
													File:   "math_m_max_test.flux",
													Source: "createEmpty",
													Start: ast.Position{
														Column: 45,
														Line:   41,
													},
												},
											},
											Name: "createEmpty",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   41,
													},
													File:   "math_m_max_test.flux",
													Source: "false",
													Start: ast.Position{
														Column: 58,
														Line:   41,
													},
												},
											},
											Name: "false",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 64,
											Line:   41,
										},
										File:   "math_m_max_test.flux",
										Source: "aggregateWindow(every: 1d, fn: mean, createEmpty: false)",
										Start: ast.Position{
											Column: 8,
											Line:   41,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   41,
											},
											File:   "math_m_max_test.flux",
											Source: "aggregateWindow",
											Start: ast.Position{
												Column: 8,
												Line:   41,
											},
										},
									},
									Name: "aggregateWindow",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 59,
									Line:   42,
								},
								File:   "math_m_max_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> aggregateWindow(every: 1d, fn: mean, createEmpty: false)\n    |> difference(nonNegative: false, columns: [\"_value\"])",
								Start: ast.Position{
									Column: 24,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 58,
											Line:   42,
										},
										File:   "math_m_max_test.flux",
										Source: "nonNegative: false, columns: [\"_value\"]",
										Start: ast.Position{
											Column: 19,
											Line:   42,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   42,
											},
											File:   "math_m_max_test.flux",
											Source: "nonNegative: false",
											Start: ast.Position{
												Column: 19,
												Line:   42,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 30,
													Line:   42,
												},
												File:   "math_m_max_test.flux",
												Source: "nonNegative",
												Start: ast.Position{
													Column: 19,
													Line:   42,
												},
											},
										},
										Name: "nonNegative",
									},
									Separator: nil,
									Value: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   42,
												},
												File:   "math_m_max_test.flux",
												Source: "false",
												Start: ast.Position{
													Column: 32,
													Line:   42,
												},
											},
										},
										Name: "false",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 58,
												Line:   42,
											},
											File:   "math_m_max_test.flux",
											Source: "columns: [\"_value\"]",
											Start: ast.Position{
												Column: 39,
												Line:   42,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   42,
												},
												File:   "math_m_max_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 39,
													Line:   42,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   42,
												},
												File:   "math_m_max_test.flux",
												Source: "[\"_value\"]",
												Start: ast.Position{
													Column: 48,
													Line:   42,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   42,
													},
													File:   "math_m_max_test.flux",
													Source: "\"_value\"",
													Start: ast.Position{
														Column: 49,
														Line:   42,
													},
												},
											},
											Value: "_value",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 59,
										Line:   42,
									},
									File:   "math_m_max_test.flux",
									Source: "difference(nonNegative: false, columns: [\"_value\"])",
									Start: ast.Position{
										Column: 8,
										Line:   42,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 18,
											Line:   42,
										},
										File:   "math_m_max_test.flux",
										Source: "difference",
										Start: ast.Position{
											Column: 8,
											Line:   42,
										},
									},
								},
								Name: "difference",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 73,
								Line:   43,
							},
							File:   "math_m_max_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._measurement == \"mem\" and r._field == \"active\")\n    |> aggregateWindow(every: 1d, fn: mean, createEmpty: false)\n    |> difference(nonNegative: false, columns: [\"_value\"])\n    |> map(fn: (r) => ({r with _value: math.mMax(x: r._value, y: 0.0)}))",
							Start: ast.Position{
								Column: 24,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 72,
										Line:   43,
									},
									File:   "math_m_max_test.flux",
									Source: "fn: (r) => ({r with _value: math.mMax(x: r._value, y: 0.0)})",
									Start: ast.Position{
										Column: 12,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 72,
											Line:   43,
										},
										File:   "math_m_max_test.flux",
										Source: "fn: (r) => ({r with _value: math.mMax(x: r._value, y: 0.0)})",
										Start: ast.Position{
											Column: 12,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   43,
											},
											File:   "math_m_max_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 12,
												Line:   43,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   43,
											},
											File:   "math_m_max_test.flux",
											Source: "(r) => ({r with _value: math.mMax(x: r._value, y: 0.0)})",
											Start: ast.Position{
												Column: 16,
												Line:   43,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   43,
												},
												File:   "math_m_max_test.flux",
												Source: "({r with _value: math.mMax(x: r._value, y: 0.0)})",
												Start: ast.Position{
													Column: 23,
													Line:   43,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   43,
													},
													File:   "math_m_max_test.flux",
													Source: "{r with _value: math.mMax(x: r._value, y: 0.0)}",
													Start: ast.Position{
														Column: 24,
														Line:   43,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   43,
														},
														File:   "math_m_max_test.flux",
														Source: "_value: math.mMax(x: r._value, y: 0.0)",
														Start: ast.Position{
															Column: 32,
															Line:   43,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   43,
															},
															File:   "math_m_max_test.flux",
															Source: "_value",
															Start: ast.Position{
																Column: 32,
																Line:   43,
															},
														},
													},
													Name: "_value",
												},
												Separator: nil,
												Value: &ast.CallExpression{
													Arguments: []ast.Expression{&ast.ObjectExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 69,
																	Line:   43,
																},
																File:   "math_m_max_test.flux",
																Source: "x: r._value, y: 0.0",
																Start: ast.Position{
																	Column: 50,
																	Line:   43,
																},
															},
														},
														Lbrace: nil,
														Properties: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 61,
																		Line:   43,
																	},
																	File:   "math_m_max_test.flux",
																	Source: "x: r._value",
																	Start: ast.Position{
																		Column: 50,
																		Line:   43,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 51,
																			Line:   43,
																		},
																		File:   "math_m_max_test.flux",
																		Source: "x",
																		Start: ast.Position{
																			Column: 50,
																			Line:   43,
																		},
																	},
																},
																Name: "x",
															},
															Separator: nil,
															Value: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 61,
																			Line:   43,
																		},
																		File:   "math_m_max_test.flux",
																		Source: "r._value",
																		Start: ast.Position{
																			Column: 53,
																			Line:   43,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 54,
																				Line:   43,
																			},
																			File:   "math_m_max_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 53,
																				Line:   43,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 61,
																				Line:   43,
																			},
																			File:   "math_m_max_test.flux",
																			Source: "_value",
																			Start: ast.Position{
																				Column: 55,
																				Line:   43,
																			},
																		},
																	},
																	Name: "_value",
																},
																Rbrack: nil,
															},
														}, &ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 69,
																		Line:   43,
																	},
																	File:   "math_m_max_test.flux",
																	Source: "y: 0.0",
																	Start: ast.Position{
																		Column: 63,
																		Line:   43,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 64,
																			Line:   43,
																		},
																		File:   "math_m_max_test.flux",
																		Source: "y",
																		Start: ast.Position{
																			Column: 63,
																			Line:   43,
																		},
																	},
																},
																Name: "y",
															},
															Separator: nil,
															Value: &ast.FloatLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 69,
																			Line:   43,
																		},
																		File:   "math_m_max_test.flux",
																		Source: "0.0",
																		Start: ast.Position{
																			Column: 66,
																			Line:   43,
																		},
																	},
																},
																Value: 0.0,
															},
														}},
														Rbrace: nil,
														With:   nil,
													}},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 70,
																Line:   43,
															},
															File:   "math_m_max_test.flux",
															Source: "math.mMax(x: r._value, y: 0.0)",
															Start: ast.Position{
																Column: 40,
																Line:   43,
															},
														},
													},
													Callee: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 49,
																	Line:   43,
																},
																File:   "math_m_max_test.flux",
																Source: "math.mMax",
																Start: ast.Position{
																	Column: 40,
																	Line:   43,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 44,
																		Line:   43,
																	},
																	File:   "math_m_max_test.flux",
																	Source: "math",
																	Start: ast.Position{
																		Column: 40,
																		Line:   43,
																	},
																},
															},
															Name: "math",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 49,
																		Line:   43,
																	},
																	File:   "math_m_max_test.flux",
																	Source: "mMax",
																	Start: ast.Position{
																		Column: 45,
																		Line:   43,
																	},
																},
															},
															Name: "mMax",
														},
														Rbrack: nil,
													},
													Lparen: nil,
													Rparen: nil,
												},
											}},
											Rbrace: nil,
											With: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 26,
															Line:   43,
														},
														File:   "math_m_max_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 25,
															Line:   43,
														},
													},
												},
												Name: "r",
											},
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   43,
												},
												File:   "math_m_max_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 17,
													Line:   43,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   43,
													},
													File:   "math_m_max_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   43,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 73,
									Line:   43,
								},
								File:   "math_m_max_test.flux",
								Source: "map(fn: (r) => ({r with _value: math.mMax(x: r._value, y: 0.0)}))",
								Start: ast.Position{
									Column: 8,
									Line:   43,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   43,
									},
									File:   "math_m_max_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   38,
							},
							File:   "math_m_max_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   38,
								},
								File:   "math_m_max_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   38,
							},
							File:   "math_m_max_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   45,
						},
						File:   "math_m_max_test.flux",
						Source: "_mmax = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mmax})",
						Start: ast.Position{
							Column: 6,
							Line:   45,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   45,
							},
							File:   "math_m_max_test.flux",
							Source: "_mmax",
							Start: ast.Position{
								Column: 6,
								Line:   45,
							},
						},
					},
					Name: "_mmax",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   45,
							},
							File:   "math_m_max_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mmax})",
							Start: ast.Position{
								Column: 14,
								Line:   45,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   45,
								},
								File:   "math_m_max_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mmax})",
								Start: ast.Position{
									Column: 20,
									Line:   45,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   45,
									},
									File:   "math_m_max_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mmax}",
									Start: ast.Position{
										Column: 21,
										Line:   45,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   45,
										},
										File:   "math_m_max_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   45,
											},
											File:   "math_m_max_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   45,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   45,
												},
												File:   "math_m_max_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   45,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   45,
													},
													File:   "math_m_max_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   45,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   45,
														},
														File:   "math_m_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   45,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   45,
														},
														File:   "math_m_max_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   45,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   45,
											},
											File:   "math_m_max_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   45,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   45,
												},
												File:   "math_m_max_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   45,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   45,
													},
													File:   "math_m_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   45,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   45,
													},
													File:   "math_m_max_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   45,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   45,
										},
										File:   "math_m_max_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   45,
											},
											File:   "math_m_max_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   45,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   45,
												},
												File:   "math_m_max_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   45,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   45,
													},
													File:   "math_m_max_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   45,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   45,
														},
														File:   "math_m_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   45,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   45,
														},
														File:   "math_m_max_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   45,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   45,
											},
											File:   "math_m_max_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   45,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   45,
												},
												File:   "math_m_max_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   45,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   45,
													},
													File:   "math_m_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   45,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   45,
													},
													File:   "math_m_max_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   45,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   45,
										},
										File:   "math_m_max_test.flux",
										Source: "fn: t_mmax",
										Start: ast.Position{
											Column: 100,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   45,
											},
											File:   "math_m_max_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   45,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   45,
											},
											File:   "math_m_max_test.flux",
											Source: "t_mmax",
											Start: ast.Position{
												Column: 104,
												Line:   45,
											},
										},
									},
									Name: "t_mmax",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   45,
					},
					File:   "math_m_max_test.flux",
					Source: "test _mmax = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mmax})",
					Start: ast.Position{
						Column: 1,
						Line:   45,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "math_m_max_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "math_m_max_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   5,
					},
					File:   "math_m_max_test.flux",
					Source: "import \"math\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   5,
						},
						File:   "math_m_max_test.flux",
						Source: "\"math\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "math",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "math_m_max_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "math_m_max_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "math_m_max_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   52,
				},
				File:   "max_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n\"\nt_max = (table=<-) => table\n    |> max()\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "max_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "max_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "max_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "max_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "max_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "max_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "max_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "max_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "max_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   38,
						},
						File:   "max_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "max_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   38,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   50,
					},
					File:   "max_test.flux",
					Source: "t_max = (table=<-) => table\n    |> max()\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   48,
						},
						File:   "max_test.flux",
						Source: "t_max",
						Start: ast.Position{
							Column: 1,
							Line:   48,
						},
					},
				},
				Name: "t_max",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   50,
						},
						File:   "max_test.flux",
						Source: "(table=<-) => table\n    |> max()\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 9,
							Line:   48,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   48,
									},
									File:   "max_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 23,
										Line:   48,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   49,
								},
								File:   "max_test.flux",
								Source: "table\n    |> max()",
								Start: ast.Position{
									Column: 23,
									Line:   48,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: nil,
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   49,
									},
									File:   "max_test.flux",
									Source: "max()",
									Start: ast.Position{
										Column: 8,
										Line:   49,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   49,
										},
										File:   "max_test.flux",
										Source: "max",
										Start: ast.Position{
											Column: 8,
											Line:   49,
										},
									},
								},
								Name: "max",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   50,
							},
							File:   "max_test.flux",
							Source: "table\n    |> max()\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 23,
								Line:   48,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   50,
									},
									File:   "max_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   50,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   50,
										},
										File:   "max_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   50,
											},
											File:   "max_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   50,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   50,
											},
											File:   "max_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   50,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "max_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   50,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   50,
												},
												File:   "max_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   50,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   50,
								},
								File:   "max_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   50,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   50,
									},
									File:   "max_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   50,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   48,
							},
							File:   "max_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   48,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   48,
								},
								File:   "max_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   48,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   48,
							},
							File:   "max_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   48,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   52,
						},
						File:   "max_test.flux",
						Source: "_max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
						Start: ast.Position{
							Column: 6,
							Line:   52,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   52,
							},
							File:   "max_test.flux",
							Source: "_max",
							Start: ast.Position{
								Column: 6,
								Line:   52,
							},
						},
					},
					Name: "_max",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   52,
							},
							File:   "max_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
							Start: ast.Position{
								Column: 13,
								Line:   52,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   52,
								},
								File:   "max_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
								Start: ast.Position{
									Column: 19,
									Line:   52,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   52,
									},
									File:   "max_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max}",
									Start: ast.Position{
										Column: 20,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   52,
										},
										File:   "max_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   52,
											},
											File:   "max_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   52,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   52,
												},
												File:   "max_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   52,
													},
													File:   "max_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   52,
														},
														File:   "max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   52,
														},
														File:   "max_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   52,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   52,
											},
											File:   "max_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   52,
												},
												File:   "max_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   52,
													},
													File:   "max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   52,
													},
													File:   "max_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   52,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   52,
										},
										File:   "max_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   52,
											},
											File:   "max_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   52,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   52,
												},
												File:   "max_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   52,
													},
													File:   "max_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   52,
														},
														File:   "max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   52,
														},
														File:   "max_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   52,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   52,
											},
											File:   "max_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   52,
												},
												File:   "max_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   52,
													},
													File:   "max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   52,
													},
													File:   "max_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   52,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   52,
										},
										File:   "max_test.flux",
										Source: "fn: t_max",
										Start: ast.Position{
											Column: 99,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   52,
											},
											File:   "max_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   52,
											},
											File:   "max_test.flux",
											Source: "t_max",
											Start: ast.Position{
												Column: 103,
												Line:   52,
											},
										},
									},
									Name: "t_max",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   52,
					},
					File:   "max_test.flux",
					Source: "test _max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "max_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "max_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "max_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "max_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "max_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   46,
				},
				File:   "max_time_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n\"\nt_max = (table=<-) => table\n    |> range(start: 2018-05-22T19:52:26Z, stop: 2018-05-22T19:55:16Z)\n    |> max(column: \"_time\")\n\ntest _max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "max_time_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "max_time_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "max_time_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "max_time_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "max_time_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "max_time_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "max_time_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "max_time_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "max_time_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "max_time_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "max_time_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:52:26Z,2018-05-22T19:55:16Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 28,
						Line:   44,
					},
					File:   "max_time_test.flux",
					Source: "t_max = (table=<-) => table\n    |> range(start: 2018-05-22T19:52:26Z, stop: 2018-05-22T19:55:16Z)\n    |> max(column: \"_time\")",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   42,
						},
						File:   "max_time_test.flux",
						Source: "t_max",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "t_max",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 28,
							Line:   44,
						},
						File:   "max_time_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:52:26Z, stop: 2018-05-22T19:55:16Z)\n    |> max(column: \"_time\")",
						Start: ast.Position{
							Column: 9,
							Line:   42,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   42,
									},
									File:   "max_time_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 23,
										Line:   42,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   43,
								},
								File:   "max_time_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:52:26Z, stop: 2018-05-22T19:55:16Z)",
								Start: ast.Position{
									Column: 23,
									Line:   42,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   43,
										},
										File:   "max_time_test.flux",
										Source: "start: 2018-05-22T19:52:26Z, stop: 2018-05-22T19:55:16Z",
										Start: ast.Position{
											Column: 14,
											Line:   43,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   43,
											},
											File:   "max_time_test.flux",
											Source: "start: 2018-05-22T19:52:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   43,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   43,
												},
												File:   "max_time_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   43,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   43,
												},
												File:   "max_time_test.flux",
												Source: "2018-05-22T19:52:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   43,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:52:26Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   43,
											},
											File:   "max_time_test.flux",
											Source: "stop: 2018-05-22T19:55:16Z",
											Start: ast.Position{
												Column: 43,
												Line:   43,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   43,
												},
												File:   "max_time_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   43,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   43,
												},
												File:   "max_time_test.flux",
												Source: "2018-05-22T19:55:16Z",
												Start: ast.Position{
													Column: 49,
													Line:   43,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:55:16Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   43,
									},
									File:   "max_time_test.flux",
									Source: "range(start: 2018-05-22T19:52:26Z, stop: 2018-05-22T19:55:16Z)",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   43,
										},
										File:   "max_time_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   43,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   44,
							},
							File:   "max_time_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:52:26Z, stop: 2018-05-22T19:55:16Z)\n    |> max(column: \"_time\")",
							Start: ast.Position{
								Column: 23,
								Line:   42,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 27,
										Line:   44,
									},
									File:   "max_time_test.flux",
									Source: "column: \"_time\"",
									Start: ast.Position{
										Column: 12,
										Line:   44,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 27,
											Line:   44,
										},
										File:   "max_time_test.flux",
										Source: "column: \"_time\"",
										Start: ast.Position{
											Column: 12,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   44,
											},
											File:   "max_time_test.flux",
											Source: "column",
											Start: ast.Position{
												Column: 12,
												Line:   44,
											},
										},
									},
									Name: "column",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   44,
											},
											File:   "max_time_test.flux",
											Source: "\"_time\"",
											Start: ast.Position{
												Column: 20,
												Line:   44,
											},
										},
									},
									Value: "_time",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   44,
								},
								File:   "max_time_test.flux",
								Source: "max(column: \"_time\")",
								Start: ast.Position{
									Column: 8,
									Line:   44,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   44,
									},
									File:   "max_time_test.flux",
									Source: "max",
									Start: ast.Position{
										Column: 8,
										Line:   44,
									},
								},
							},
							Name: "max",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   42,
							},
							File:   "max_time_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   42,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   42,
								},
								File:   "max_time_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   42,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   42,
							},
							File:   "max_time_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   42,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   46,
						},
						File:   "max_time_test.flux",
						Source: "_max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
						Start: ast.Position{
							Column: 6,
							Line:   46,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   46,
							},
							File:   "max_time_test.flux",
							Source: "_max",
							Start: ast.Position{
								Column: 6,
								Line:   46,
							},
						},
					},
					Name: "_max",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   46,
							},
							File:   "max_time_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
							Start: ast.Position{
								Column: 13,
								Line:   46,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   46,
								},
								File:   "max_time_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
								Start: ast.Position{
									Column: 19,
									Line:   46,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   46,
									},
									File:   "max_time_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max}",
									Start: ast.Position{
										Column: 20,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   46,
										},
										File:   "max_time_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   46,
											},
											File:   "max_time_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   46,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   46,
												},
												File:   "max_time_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   46,
													},
													File:   "max_time_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   46,
														},
														File:   "max_time_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   46,
														},
														File:   "max_time_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   46,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   46,
											},
											File:   "max_time_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   46,
												},
												File:   "max_time_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   46,
													},
													File:   "max_time_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   46,
													},
													File:   "max_time_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   46,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   46,
										},
										File:   "max_time_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   46,
											},
											File:   "max_time_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   46,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   46,
												},
												File:   "max_time_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   46,
													},
													File:   "max_time_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   46,
														},
														File:   "max_time_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   46,
														},
														File:   "max_time_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   46,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   46,
											},
											File:   "max_time_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   46,
												},
												File:   "max_time_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   46,
													},
													File:   "max_time_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   46,
													},
													File:   "max_time_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   46,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   46,
										},
										File:   "max_time_test.flux",
										Source: "fn: t_max",
										Start: ast.Position{
											Column: 99,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   46,
											},
											File:   "max_time_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   46,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   46,
											},
											File:   "max_time_test.flux",
											Source: "t_max",
											Start: ast.Position{
												Column: 103,
												Line:   46,
											},
										},
									},
									Name: "t_max",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   46,
					},
					File:   "max_time_test.flux",
					Source: "test _max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_max})",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "max_time_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "max_time_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "max_time_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "max_time_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "max_time_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   55,
				},
				File:   "mean_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,48\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,9.5\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,10.979094987144862\n\"\nt_mean = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mean()\n\ntest _mean = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mean})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "mean_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "mean_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "mean_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "mean_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "mean_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "mean_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "mean_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "mean_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   50,
					},
					File:   "mean_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,48\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,9.5\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,10.979094987144862\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   42,
						},
						File:   "mean_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   50,
						},
						File:   "mean_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,48\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,9.5\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,10.979094987144862\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   42,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,48\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,9.5\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,10.979094987144862\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   53,
					},
					File:   "mean_test.flux",
					Source: "t_mean = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mean()",
					Start: ast.Position{
						Column: 1,
						Line:   51,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   51,
						},
						File:   "mean_test.flux",
						Source: "t_mean",
						Start: ast.Position{
							Column: 1,
							Line:   51,
						},
					},
				},
				Name: "t_mean",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   53,
						},
						File:   "mean_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mean()",
						Start: ast.Position{
							Column: 10,
							Line:   51,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   51,
									},
									File:   "mean_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   51,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   52,
								},
								File:   "mean_test.flux",
								Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)",
								Start: ast.Position{
									Column: 24,
									Line:   51,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   52,
										},
										File:   "mean_test.flux",
										Source: "start: 2018-12-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   52,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   52,
											},
											File:   "mean_test.flux",
											Source: "start: 2018-12-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   52,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   52,
												},
												File:   "mean_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   52,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   52,
												},
												File:   "mean_test.flux",
												Source: "2018-12-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   52,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   52,
									},
									File:   "mean_test.flux",
									Source: "range(start: 2018-12-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   52,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   52,
										},
										File:   "mean_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   52,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   53,
							},
							File:   "mean_test.flux",
							Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mean()",
							Start: ast.Position{
								Column: 24,
								Line:   51,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   53,
								},
								File:   "mean_test.flux",
								Source: "mean()",
								Start: ast.Position{
									Column: 8,
									Line:   53,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   53,
									},
									File:   "mean_test.flux",
									Source: "mean",
									Start: ast.Position{
										Column: 8,
										Line:   53,
									},
								},
							},
							Name: "mean",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   51,
							},
							File:   "mean_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   51,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   51,
								},
								File:   "mean_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   51,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   51,
							},
							File:   "mean_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   51,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   55,
						},
						File:   "mean_test.flux",
						Source: "_mean = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mean})",
						Start: ast.Position{
							Column: 6,
							Line:   55,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   55,
							},
							File:   "mean_test.flux",
							Source: "_mean",
							Start: ast.Position{
								Column: 6,
								Line:   55,
							},
						},
					},
					Name: "_mean",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   55,
							},
							File:   "mean_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mean})",
							Start: ast.Position{
								Column: 14,
								Line:   55,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   55,
								},
								File:   "mean_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mean})",
								Start: ast.Position{
									Column: 20,
									Line:   55,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   55,
									},
									File:   "mean_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mean}",
									Start: ast.Position{
										Column: 21,
										Line:   55,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   55,
										},
										File:   "mean_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   55,
											},
											File:   "mean_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   55,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   55,
												},
												File:   "mean_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   55,
													},
													File:   "mean_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   55,
														},
														File:   "mean_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   55,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   55,
														},
														File:   "mean_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   55,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   55,
											},
											File:   "mean_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   55,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   55,
												},
												File:   "mean_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   55,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   55,
													},
													File:   "mean_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   55,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   55,
													},
													File:   "mean_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   55,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   55,
										},
										File:   "mean_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   55,
											},
											File:   "mean_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   55,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   55,
												},
												File:   "mean_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   55,
													},
													File:   "mean_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   55,
														},
														File:   "mean_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   55,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   55,
														},
														File:   "mean_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   55,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   55,
											},
											File:   "mean_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   55,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   55,
												},
												File:   "mean_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   55,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   55,
													},
													File:   "mean_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   55,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   55,
													},
													File:   "mean_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   55,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   55,
										},
										File:   "mean_test.flux",
										Source: "fn: t_mean",
										Start: ast.Position{
											Column: 100,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   55,
											},
											File:   "mean_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   55,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   55,
											},
											File:   "mean_test.flux",
											Source: "t_mean",
											Start: ast.Position{
												Column: 104,
												Line:   55,
											},
										},
									},
									Name: "t_mean",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   55,
					},
					File:   "mean_test.flux",
					Source: "test _mean = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mean})",
					Start: ast.Position{
						Column: 1,
						Line:   55,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "mean_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "mean_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "mean_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "mean_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "mean_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   35,
				},
				File:   "median_column_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,count\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,35\n\"\n\ntest _median_column = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})\n        |> median(column: \"count\"),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "median_column_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "median_column_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "median_column_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "median_column_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "median_column_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "median_column_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "median_column_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "median_column_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "median_column_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,count\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,35\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "median_column_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "median_column_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,count\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,35\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,count\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,35\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   35,
						},
						File:   "median_column_test.flux",
						Source: "_median_column = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})\n        |> median(column: \"count\"),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   28,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   28,
							},
							File:   "median_column_test.flux",
							Source: "_median_column",
							Start: ast.Position{
								Column: 6,
								Line:   28,
							},
						},
					},
					Name: "_median_column",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   35,
							},
							File:   "median_column_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})\n        |> median(column: \"count\"),\n})",
							Start: ast.Position{
								Column: 23,
								Line:   28,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   35,
								},
								File:   "median_column_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})\n        |> median(column: \"count\"),\n})",
								Start: ast.Position{
									Column: 29,
									Line:   28,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   35,
									},
									File:   "median_column_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})\n        |> median(column: \"count\"),\n}",
									Start: ast.Position{
										Column: 30,
										Line:   28,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   29,
										},
										File:   "median_column_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   29,
											},
											File:   "median_column_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   29,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   29,
												},
												File:   "median_column_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   29,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   29,
													},
													File:   "median_column_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   29,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   29,
														},
														File:   "median_column_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   29,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   29,
														},
														File:   "median_column_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   29,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   29,
											},
											File:   "median_column_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   29,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   29,
												},
												File:   "median_column_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   29,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   29,
													},
													File:   "median_column_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   29,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   29,
													},
													File:   "median_column_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   29,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   30,
										},
										File:   "median_column_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   30,
											},
											File:   "median_column_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   30,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   30,
												},
												File:   "median_column_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   30,
													},
													File:   "median_column_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   30,
														},
														File:   "median_column_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   30,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   30,
														},
														File:   "median_column_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   30,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   30,
											},
											File:   "median_column_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   30,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   30,
												},
												File:   "median_column_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   30,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   30,
													},
													File:   "median_column_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   30,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   30,
													},
													File:   "median_column_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   30,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 35,
											Line:   34,
										},
										File:   "median_column_test.flux",
										Source: "fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})\n        |> median(column: \"count\")",
										Start: ast.Position{
											Column: 5,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   31,
											},
											File:   "median_column_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   34,
											},
											File:   "median_column_test.flux",
											Source: "(tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})\n        |> median(column: \"count\")",
											Start: ast.Position{
												Column: 9,
												Line:   31,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.PipeExpression{
												Argument: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 30,
																Line:   31,
															},
															File:   "median_column_test.flux",
															Source: "tables",
															Start: ast.Position{
																Column: 24,
																Line:   31,
															},
														},
													},
													Name: "tables",
												},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   32,
														},
														File:   "median_column_test.flux",
														Source: "tables\n        |> range(start: 2018-12-01T00:00:00Z)",
														Start: ast.Position{
															Column: 24,
															Line:   31,
														},
													},
												},
												Call: &ast.CallExpression{
													Arguments: []ast.Expression{&ast.ObjectExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   32,
																},
																File:   "median_column_test.flux",
																Source: "start: 2018-12-01T00:00:00Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   32,
																},
															},
														},
														Lbrace: nil,
														Properties: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   32,
																	},
																	File:   "median_column_test.flux",
																	Source: "start: 2018-12-01T00:00:00Z",
																	Start: ast.Position{
																		Column: 18,
																		Line:   32,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 23,
																			Line:   32,
																		},
																		File:   "median_column_test.flux",
																		Source: "start",
																		Start: ast.Position{
																			Column: 18,
																			Line:   32,
																		},
																	},
																},
																Name: "start",
															},
															Separator: nil,
															Value: &ast.DateTimeLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 45,
																			Line:   32,
																		},
																		File:   "median_column_test.flux",
																		Source: "2018-12-01T00:00:00Z",
																		Start: ast.Position{
																			Column: 25,
																			Line:   32,
																		},
																	},
																},
																Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
															},
														}},
														Rbrace: nil,
														With:   nil,
													}},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 46,
																Line:   32,
															},
															File:   "median_column_test.flux",
															Source: "range(start: 2018-12-01T00:00:00Z)",
															Start: ast.Position{
																Column: 12,
																Line:   32,
															},
														},
													},
													Callee: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 17,
																	Line:   32,
																},
																File:   "median_column_test.flux",
																Source: "range",
																Start: ast.Position{
																	Column: 12,
																	Line:   32,
																},
															},
														},
														Name: "range",
													},
													Lparen: nil,
													Rparen: nil,
												},
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   33,
													},
													File:   "median_column_test.flux",
													Source: "tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})",
													Start: ast.Position{
														Column: 24,
														Line:   31,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   33,
															},
															File:   "median_column_test.flux",
															Source: "columns: {_value: \"count\"}",
															Start: ast.Position{
																Column: 19,
																Line:   33,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   33,
																},
																File:   "median_column_test.flux",
																Source: "columns: {_value: \"count\"}",
																Start: ast.Position{
																	Column: 19,
																	Line:   33,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 26,
																		Line:   33,
																	},
																	File:   "median_column_test.flux",
																	Source: "columns",
																	Start: ast.Position{
																		Column: 19,
																		Line:   33,
																	},
																},
															},
															Name: "columns",
														},
														Separator: nil,
														Value: &ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   33,
																	},
																	File:   "median_column_test.flux",
																	Source: "{_value: \"count\"}",
																	Start: ast.Position{
																		Column: 28,
																		Line:   33,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 44,
																			Line:   33,
																		},
																		File:   "median_column_test.flux",
																		Source: "_value: \"count\"",
																		Start: ast.Position{
																			Column: 29,
																			Line:   33,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 35,
																				Line:   33,
																			},
																			File:   "median_column_test.flux",
																			Source: "_value",
																			Start: ast.Position{
																				Column: 29,
																				Line:   33,
																			},
																		},
																	},
																	Name: "_value",
																},
																Separator: nil,
																Value: &ast.StringLiteral{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 44,
																				Line:   33,
																			},
																			File:   "median_column_test.flux",
																			Source: "\"count\"",
																			Start: ast.Position{
																				Column: 37,
																				Line:   33,
																			},
																		},
																	},
																	Value: "count",
																},
															}},
															Rbrace: nil,
															With:   nil,
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   33,
														},
														File:   "median_column_test.flux",
														Source: "rename(columns: {_value: \"count\"})",
														Start: ast.Position{
															Column: 12,
															Line:   33,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 18,
																Line:   33,
															},
															File:   "median_column_test.flux",
															Source: "rename",
															Start: ast.Position{
																Column: 12,
																Line:   33,
															},
														},
													},
													Name: "rename",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 35,
													Line:   34,
												},
												File:   "median_column_test.flux",
												Source: "tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})\n        |> median(column: \"count\")",
												Start: ast.Position{
													Column: 24,
													Line:   31,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   34,
														},
														File:   "median_column_test.flux",
														Source: "column: \"count\"",
														Start: ast.Position{
															Column: 19,
															Line:   34,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 34,
																Line:   34,
															},
															File:   "median_column_test.flux",
															Source: "column: \"count\"",
															Start: ast.Position{
																Column: 19,
																Line:   34,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   34,
																},
																File:   "median_column_test.flux",
																Source: "column",
																Start: ast.Position{
																	Column: 19,
																	Line:   34,
																},
															},
														},
														Name: "column",
													},
													Separator: nil,
													Value: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 34,
																	Line:   34,
																},
																File:   "median_column_test.flux",
																Source: "\"count\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   34,
																},
															},
														},
														Value: "count",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   34,
													},
													File:   "median_column_test.flux",
													Source: "median(column: \"count\")",
													Start: ast.Position{
														Column: 12,
														Line:   34,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   34,
														},
														File:   "median_column_test.flux",
														Source: "median",
														Start: ast.Position{
															Column: 12,
															Line:   34,
														},
													},
												},
												Name: "median",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "median_column_test.flux",
												Source: "tables=<-",
												Start: ast.Position{
													Column: 10,
													Line:   31,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   31,
													},
													File:   "median_column_test.flux",
													Source: "tables",
													Start: ast.Position{
														Column: 10,
														Line:   31,
													},
												},
											},
											Name: "tables",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "median_column_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 17,
													Line:   31,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   35,
					},
					File:   "median_column_test.flux",
					Source: "test _median_column = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> rename(columns: {_value: \"count\"})\n        |> median(column: \"count\"),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   28,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "median_column_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "median_column_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "median_column_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "median_column_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "median_column_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   34,
				},
				File:   "median_compression_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,41.666666666666664\n\"\n\ntest _median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(compression: 1.0),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "median_compression_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "median_compression_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "median_compression_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "median_compression_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "median_compression_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "median_compression_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "median_compression_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "median_compression_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "median_compression_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,41.666666666666664\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "median_compression_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "median_compression_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,41.666666666666664\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,41.666666666666664\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   34,
						},
						File:   "median_compression_test.flux",
						Source: "_median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(compression: 1.0),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   28,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   28,
							},
							File:   "median_compression_test.flux",
							Source: "_median",
							Start: ast.Position{
								Column: 6,
								Line:   28,
							},
						},
					},
					Name: "_median",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   34,
							},
							File:   "median_compression_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(compression: 1.0),\n})",
							Start: ast.Position{
								Column: 16,
								Line:   28,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   34,
								},
								File:   "median_compression_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(compression: 1.0),\n})",
								Start: ast.Position{
									Column: 22,
									Line:   28,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   34,
									},
									File:   "median_compression_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(compression: 1.0),\n}",
									Start: ast.Position{
										Column: 23,
										Line:   28,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   29,
										},
										File:   "median_compression_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   29,
											},
											File:   "median_compression_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   29,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   29,
												},
												File:   "median_compression_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   29,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   29,
													},
													File:   "median_compression_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   29,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   29,
														},
														File:   "median_compression_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   29,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   29,
														},
														File:   "median_compression_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   29,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   29,
											},
											File:   "median_compression_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   29,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   29,
												},
												File:   "median_compression_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   29,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   29,
													},
													File:   "median_compression_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   29,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   29,
													},
													File:   "median_compression_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   29,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   30,
										},
										File:   "median_compression_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   30,
											},
											File:   "median_compression_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   30,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   30,
												},
												File:   "median_compression_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   30,
													},
													File:   "median_compression_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   30,
														},
														File:   "median_compression_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   30,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   30,
														},
														File:   "median_compression_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   30,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   30,
											},
											File:   "median_compression_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   30,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   30,
												},
												File:   "median_compression_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   30,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   30,
													},
													File:   "median_compression_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   30,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   30,
													},
													File:   "median_compression_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   30,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   33,
										},
										File:   "median_compression_test.flux",
										Source: "fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(compression: 1.0)",
										Start: ast.Position{
											Column: 5,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   31,
											},
											File:   "median_compression_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   33,
											},
											File:   "median_compression_test.flux",
											Source: "(tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(compression: 1.0)",
											Start: ast.Position{
												Column: 9,
												Line:   31,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   31,
														},
														File:   "median_compression_test.flux",
														Source: "tables",
														Start: ast.Position{
															Column: 24,
															Line:   31,
														},
													},
												},
												Name: "tables",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   32,
													},
													File:   "median_compression_test.flux",
													Source: "tables\n        |> range(start: 2018-12-01T00:00:00Z)",
													Start: ast.Position{
														Column: 24,
														Line:   31,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   32,
															},
															File:   "median_compression_test.flux",
															Source: "start: 2018-12-01T00:00:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   32,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   32,
																},
																File:   "median_compression_test.flux",
																Source: "start: 2018-12-01T00:00:00Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   32,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   32,
																	},
																	File:   "median_compression_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   32,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   32,
																	},
																	File:   "median_compression_test.flux",
																	Source: "2018-12-01T00:00:00Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   32,
																	},
																},
															},
															Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   32,
														},
														File:   "median_compression_test.flux",
														Source: "range(start: 2018-12-01T00:00:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   32,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   32,
															},
															File:   "median_compression_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   32,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   33,
												},
												File:   "median_compression_test.flux",
												Source: "tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(compression: 1.0)",
												Start: ast.Position{
													Column: 24,
													Line:   31,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   33,
														},
														File:   "median_compression_test.flux",
														Source: "compression: 1.0",
														Start: ast.Position{
															Column: 19,
															Line:   33,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 35,
																Line:   33,
															},
															File:   "median_compression_test.flux",
															Source: "compression: 1.0",
															Start: ast.Position{
																Column: 19,
																Line:   33,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 30,
																	Line:   33,
																},
																File:   "median_compression_test.flux",
																Source: "compression",
																Start: ast.Position{
																	Column: 19,
																	Line:   33,
																},
															},
														},
														Name: "compression",
													},
													Separator: nil,
													Value: &ast.FloatLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 35,
																	Line:   33,
																},
																File:   "median_compression_test.flux",
																Source: "1.0",
																Start: ast.Position{
																	Column: 32,
																	Line:   33,
																},
															},
														},
														Value: 1.0,
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   33,
													},
													File:   "median_compression_test.flux",
													Source: "median(compression: 1.0)",
													Start: ast.Position{
														Column: 12,
														Line:   33,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   33,
														},
														File:   "median_compression_test.flux",
														Source: "median",
														Start: ast.Position{
															Column: 12,
															Line:   33,
														},
													},
												},
												Name: "median",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "median_compression_test.flux",
												Source: "tables=<-",
												Start: ast.Position{
													Column: 10,
													Line:   31,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   31,
													},
													File:   "median_compression_test.flux",
													Source: "tables",
													Start: ast.Position{
														Column: 10,
														Line:   31,
													},
												},
											},
											Name: "tables",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "median_compression_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 17,
													Line:   31,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   34,
					},
					File:   "median_compression_test.flux",
					Source: "test _median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(compression: 1.0),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   28,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "median_compression_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "median_compression_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "median_compression_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "median_compression_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "median_compression_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   34,
				},
				File:   "median_method_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n\"\n\ntest _median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(method: \"exact_selector\"),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "median_method_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "median_method_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "median_method_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "median_method_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "median_method_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "median_method_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "median_method_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "median_method_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,55\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,15\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,5\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,105\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,45\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "median_method_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "median_method_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "median_method_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,2018-12-18T21:13:05Z,25\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   34,
						},
						File:   "median_method_test.flux",
						Source: "_median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(method: \"exact_selector\"),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   28,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   28,
							},
							File:   "median_method_test.flux",
							Source: "_median",
							Start: ast.Position{
								Column: 6,
								Line:   28,
							},
						},
					},
					Name: "_median",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   34,
							},
							File:   "median_method_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(method: \"exact_selector\"),\n})",
							Start: ast.Position{
								Column: 16,
								Line:   28,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   34,
								},
								File:   "median_method_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(method: \"exact_selector\"),\n})",
								Start: ast.Position{
									Column: 22,
									Line:   28,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   34,
									},
									File:   "median_method_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(method: \"exact_selector\"),\n}",
									Start: ast.Position{
										Column: 23,
										Line:   28,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   29,
										},
										File:   "median_method_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   29,
											},
											File:   "median_method_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   29,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   29,
												},
												File:   "median_method_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   29,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   29,
													},
													File:   "median_method_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   29,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   29,
														},
														File:   "median_method_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   29,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   29,
														},
														File:   "median_method_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   29,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   29,
											},
											File:   "median_method_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   29,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   29,
												},
												File:   "median_method_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   29,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   29,
													},
													File:   "median_method_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   29,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   29,
													},
													File:   "median_method_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   29,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   30,
										},
										File:   "median_method_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   30,
											},
											File:   "median_method_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   30,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   30,
												},
												File:   "median_method_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   30,
													},
													File:   "median_method_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   30,
														},
														File:   "median_method_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   30,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   30,
														},
														File:   "median_method_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   30,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   30,
											},
											File:   "median_method_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   30,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   30,
												},
												File:   "median_method_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   30,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   30,
													},
													File:   "median_method_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   30,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   30,
													},
													File:   "median_method_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   30,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   33,
										},
										File:   "median_method_test.flux",
										Source: "fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(method: \"exact_selector\")",
										Start: ast.Position{
											Column: 5,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   31,
											},
											File:   "median_method_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   33,
											},
											File:   "median_method_test.flux",
											Source: "(tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(method: \"exact_selector\")",
											Start: ast.Position{
												Column: 9,
												Line:   31,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   31,
														},
														File:   "median_method_test.flux",
														Source: "tables",
														Start: ast.Position{
															Column: 24,
															Line:   31,
														},
													},
												},
												Name: "tables",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   32,
													},
													File:   "median_method_test.flux",
													Source: "tables\n        |> range(start: 2018-12-01T00:00:00Z)",
													Start: ast.Position{
														Column: 24,
														Line:   31,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   32,
															},
															File:   "median_method_test.flux",
															Source: "start: 2018-12-01T00:00:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   32,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   32,
																},
																File:   "median_method_test.flux",
																Source: "start: 2018-12-01T00:00:00Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   32,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   32,
																	},
																	File:   "median_method_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   32,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   32,
																	},
																	File:   "median_method_test.flux",
																	Source: "2018-12-01T00:00:00Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   32,
																	},
																},
															},
															Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   32,
														},
														File:   "median_method_test.flux",
														Source: "range(start: 2018-12-01T00:00:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   32,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   32,
															},
															File:   "median_method_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   32,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   33,
												},
												File:   "median_method_test.flux",
												Source: "tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(method: \"exact_selector\")",
												Start: ast.Position{
													Column: 24,
													Line:   31,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   33,
														},
														File:   "median_method_test.flux",
														Source: "method: \"exact_selector\"",
														Start: ast.Position{
															Column: 19,
															Line:   33,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 43,
																Line:   33,
															},
															File:   "median_method_test.flux",
															Source: "method: \"exact_selector\"",
															Start: ast.Position{
																Column: 19,
																Line:   33,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   33,
																},
																File:   "median_method_test.flux",
																Source: "method",
																Start: ast.Position{
																	Column: 19,
																	Line:   33,
																},
															},
														},
														Name: "method",
													},
													Separator: nil,
													Value: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 43,
																	Line:   33,
																},
																File:   "median_method_test.flux",
																Source: "\"exact_selector\"",
																Start: ast.Position{
																	Column: 27,
																	Line:   33,
																},
															},
														},
														Value: "exact_selector",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   33,
													},
													File:   "median_method_test.flux",
													Source: "median(method: \"exact_selector\")",
													Start: ast.Position{
														Column: 12,
														Line:   33,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   33,
														},
														File:   "median_method_test.flux",
														Source: "median",
														Start: ast.Position{
															Column: 12,
															Line:   33,
														},
													},
												},
												Name: "median",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "median_method_test.flux",
												Source: "tables=<-",
												Start: ast.Position{
													Column: 10,
													Line:   31,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   31,
													},
													File:   "median_method_test.flux",
													Source: "tables",
													Start: ast.Position{
														Column: 10,
														Line:   31,
													},
												},
											},
											Name: "tables",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   31,
												},
												File:   "median_method_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 17,
													Line:   31,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   34,
					},
					File:   "median_method_test.flux",
					Source: "test _median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (tables=<-) => tables\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> median(method: \"exact_selector\"),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   28,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "median_method_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "median_method_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "median_method_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "median_method_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "median_method_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   42,
				},
				File:   "median_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,true,true,true,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_value\n,,0,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,BnR,38.11466723641958\n,,1,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,qCnJDC,4.911443547730174\n\"\nt_median = (table=<-) => table\n    |> range(start: 2019-01-01T00:00:00Z)\n    |> median()\n\ntest _median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_median,\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "median_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "median_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "median_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "median_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "median_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "median_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "median_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "median_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,0,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,1,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   33,
					},
					File:   "median_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,true,true,true,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_value\n,,0,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,BnR,38.11466723641958\n,,1,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,qCnJDC,4.911443547730174\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "median_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   33,
						},
						File:   "median_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,true,true,true,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_value\n,,0,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,BnR,38.11466723641958\n,,1,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,qCnJDC,4.911443547730174\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,true,true,true,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_value\n,,0,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,BnR,38.11466723641958\n,,1,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,qCnJDC,4.911443547730174\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 16,
						Line:   36,
					},
					File:   "median_test.flux",
					Source: "t_median = (table=<-) => table\n    |> range(start: 2019-01-01T00:00:00Z)\n    |> median()",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   34,
						},
						File:   "median_test.flux",
						Source: "t_median",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "t_median",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   36,
						},
						File:   "median_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2019-01-01T00:00:00Z)\n    |> median()",
						Start: ast.Position{
							Column: 12,
							Line:   34,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 31,
										Line:   34,
									},
									File:   "median_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 26,
										Line:   34,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   35,
								},
								File:   "median_test.flux",
								Source: "table\n    |> range(start: 2019-01-01T00:00:00Z)",
								Start: ast.Position{
									Column: 26,
									Line:   34,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   35,
										},
										File:   "median_test.flux",
										Source: "start: 2019-01-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   35,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   35,
											},
											File:   "median_test.flux",
											Source: "start: 2019-01-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   35,
												},
												File:   "median_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   35,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   35,
												},
												File:   "median_test.flux",
												Source: "2019-01-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   35,
												},
											},
										},
										Value: parser.MustParseTime("2019-01-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   35,
									},
									File:   "median_test.flux",
									Source: "range(start: 2019-01-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   35,
										},
										File:   "median_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   35,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   36,
							},
							File:   "median_test.flux",
							Source: "table\n    |> range(start: 2019-01-01T00:00:00Z)\n    |> median()",
							Start: ast.Position{
								Column: 26,
								Line:   34,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   36,
								},
								File:   "median_test.flux",
								Source: "median()",
								Start: ast.Position{
									Column: 8,
									Line:   36,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   36,
									},
									File:   "median_test.flux",
									Source: "median",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Name: "median",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   34,
							},
							File:   "median_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   34,
								},
								File:   "median_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   34,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   34,
							},
							File:   "median_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   34,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   42,
						},
						File:   "median_test.flux",
						Source: "_median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_median,\n})",
						Start: ast.Position{
							Column: 6,
							Line:   38,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   38,
							},
							File:   "median_test.flux",
							Source: "_median",
							Start: ast.Position{
								Column: 6,
								Line:   38,
							},
						},
					},
					Name: "_median",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   42,
							},
							File:   "median_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_median,\n})",
							Start: ast.Position{
								Column: 16,
								Line:   38,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   42,
								},
								File:   "median_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_median,\n})",
								Start: ast.Position{
									Column: 22,
									Line:   38,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   42,
									},
									File:   "median_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_median,\n}",
									Start: ast.Position{
										Column: 23,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   39,
										},
										File:   "median_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   39,
											},
											File:   "median_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   39,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   39,
												},
												File:   "median_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   39,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   39,
													},
													File:   "median_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   39,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   39,
														},
														File:   "median_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   39,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   39,
														},
														File:   "median_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   39,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   39,
											},
											File:   "median_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   39,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   39,
												},
												File:   "median_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   39,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   39,
													},
													File:   "median_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   39,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   39,
													},
													File:   "median_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   39,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   40,
										},
										File:   "median_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   40,
											},
											File:   "median_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   40,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   40,
												},
												File:   "median_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   40,
													},
													File:   "median_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   40,
														},
														File:   "median_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   40,
														},
														File:   "median_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   40,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   40,
											},
											File:   "median_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   40,
												},
												File:   "median_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   40,
													},
													File:   "median_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   40,
													},
													File:   "median_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   40,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   41,
										},
										File:   "median_test.flux",
										Source: "fn: t_median",
										Start: ast.Position{
											Column: 5,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   41,
											},
											File:   "median_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   41,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   41,
											},
											File:   "median_test.flux",
											Source: "t_median",
											Start: ast.Position{
												Column: 9,
												Line:   41,
											},
										},
									},
									Name: "t_median",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   42,
					},
					File:   "median_test.flux",
					Source: "test _median = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: t_median,\n})",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "median_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "median_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "median_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "median_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "median_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 135,
					Line:   35,
				},
				File:   "merge_filter_flag_off_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"planner\"\n\noption now = () => 2030-01-01T00:00:00Z\noption planner.disableLogicalRules = [\"MergeFiltersRule\"]\n\ninput = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,double\n#group,false,false,false,true,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,system,host.local,load1,1.83\n,,0,2018-05-22T19:53:36Z,system,host.local,load1,1.63\n,,1,2018-05-22T19:53:26Z,system,host.local,load3,1.72\n,,2,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,2,2018-05-22T19:53:36Z,system,host.local,load4,1.78\n,,2,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"\noutput = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,false,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"\nmerge_filter_fn = (tables=<-) => tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)\n    |> filter(fn: (r) => r[\"_field\"] == \"load4\")\n\ntest merge_filter_evaluate = () => ({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "merge_filter_flag_off_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "merge_filter_flag_off_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "merge_filter_flag_off_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "merge_filter_flag_off_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.OptionStatement{
			Assignment: &ast.MemberAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 58,
							Line:   8,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "planner.disableLogicalRules = [\"MergeFiltersRule\"]",
						Start: ast.Position{
							Column: 8,
							Line:   8,
						},
					},
				},
				Init: &ast.ArrayExpression{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 58,
								Line:   8,
							},
							File:   "merge_filter_flag_off_test.flux",
							Source: "[\"MergeFiltersRule\"]",
							Start: ast.Position{
								Column: 38,
								Line:   8,
							},
						},
					},
					Elements: []ast.Expression{&ast.StringLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 57,
									Line:   8,
								},
								File:   "merge_filter_flag_off_test.flux",
								Source: "\"MergeFiltersRule\"",
								Start: ast.Position{
									Column: 39,
									Line:   8,
								},
							},
						},
						Value: "MergeFiltersRule",
					}},
					Lbrack: nil,
					Rbrack: nil,
				},
				Member: &ast.MemberExpression{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   8,
							},
							File:   "merge_filter_flag_off_test.flux",
							Source: "planner.disableLogicalRules",
							Start: ast.Position{
								Column: 8,
								Line:   8,
							},
						},
					},
					Lbrack: nil,
					Object: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   8,
								},
								File:   "merge_filter_flag_off_test.flux",
								Source: "planner",
								Start: ast.Position{
									Column: 8,
									Line:   8,
								},
							},
						},
						Name: "planner",
					},
					Property: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 35,
									Line:   8,
								},
								File:   "merge_filter_flag_off_test.flux",
								Source: "disableLogicalRules",
								Start: ast.Position{
									Column: 16,
									Line:   8,
								},
							},
						},
						Name: "disableLogicalRules",
					},
					Rbrack: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 58,
						Line:   8,
					},
					File:   "merge_filter_flag_off_test.flux",
					Source: "option planner.disableLogicalRules = [\"MergeFiltersRule\"]",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   21,
					},
					File:   "merge_filter_flag_off_test.flux",
					Source: "input = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,double\n#group,false,false,false,true,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,system,host.local,load1,1.83\n,,0,2018-05-22T19:53:36Z,system,host.local,load1,1.63\n,,1,2018-05-22T19:53:26Z,system,host.local,load3,1.72\n,,2,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,2,2018-05-22T19:53:36Z,system,host.local,load4,1.78\n,,2,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   10,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   10,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "input",
						Start: ast.Position{
							Column: 1,
							Line:   10,
						},
					},
				},
				Name: "input",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   21,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,double\n#group,false,false,false,true,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,system,host.local,load1,1.83\n,,0,2018-05-22T19:53:36Z,system,host.local,load1,1.63\n,,1,2018-05-22T19:53:26Z,system,host.local,load3,1.72\n,,2,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,2,2018-05-22T19:53:36Z,system,host.local,load4,1.78\n,,2,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"",
						Start: ast.Position{
							Column: 9,
							Line:   10,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,double\n#group,false,false,false,true,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,system,host.local,load1,1.83\n,,0,2018-05-22T19:53:36Z,system,host.local,load1,1.63\n,,1,2018-05-22T19:53:26Z,system,host.local,load3,1.72\n,,2,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,2,2018-05-22T19:53:36Z,system,host.local,load4,1.78\n,,2,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   29,
					},
					File:   "merge_filter_flag_off_test.flux",
					Source: "output = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,false,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   22,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   22,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "output",
						Start: ast.Position{
							Column: 1,
							Line:   22,
						},
					},
				},
				Name: "output",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   29,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,false,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   22,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,false,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 49,
						Line:   33,
					},
					File:   "merge_filter_flag_off_test.flux",
					Source: "merge_filter_fn = (tables=<-) => tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)\n    |> filter(fn: (r) => r[\"_field\"] == \"load4\")",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   30,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "merge_filter_fn",
						Start: ast.Position{
							Column: 1,
							Line:   30,
						},
					},
				},
				Name: "merge_filter_fn",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 49,
							Line:   33,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "(tables=<-) => tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)\n    |> filter(fn: (r) => r[\"_field\"] == \"load4\")",
						Start: ast.Position{
							Column: 19,
							Line:   30,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   30,
										},
										File:   "merge_filter_flag_off_test.flux",
										Source: "tables",
										Start: ast.Position{
											Column: 34,
											Line:   30,
										},
									},
								},
								Name: "tables",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   31,
									},
									File:   "merge_filter_flag_off_test.flux",
									Source: "tables\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 34,
										Line:   30,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   31,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   31,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   31,
												},
												File:   "merge_filter_flag_off_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   31,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   31,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   31,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   31,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   31,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   31,
										},
										File:   "merge_filter_flag_off_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   31,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   31,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   31,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   32,
								},
								File:   "merge_filter_flag_off_test.flux",
								Source: "tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)",
								Start: ast.Position{
									Column: 34,
									Line:   30,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   32,
										},
										File:   "merge_filter_flag_off_test.flux",
										Source: "fn: (r) => r[\"_value\"] == 1.77",
										Start: ast.Position{
											Column: 15,
											Line:   32,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   32,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "fn: (r) => r[\"_value\"] == 1.77",
											Start: ast.Position{
												Column: 15,
												Line:   32,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   32,
												},
												File:   "merge_filter_flag_off_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   32,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   32,
												},
												File:   "merge_filter_flag_off_test.flux",
												Source: "(r) => r[\"_value\"] == 1.77",
												Start: ast.Position{
													Column: 19,
													Line:   32,
												},
											},
										},
										Body: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   32,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "r[\"_value\"] == 1.77",
													Start: ast.Position{
														Column: 26,
														Line:   32,
													},
												},
											},
											Left: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 37,
															Line:   32,
														},
														File:   "merge_filter_flag_off_test.flux",
														Source: "r[\"_value\"]",
														Start: ast.Position{
															Column: 26,
															Line:   32,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   32,
															},
															File:   "merge_filter_flag_off_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 26,
																Line:   32,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 36,
																Line:   32,
															},
															File:   "merge_filter_flag_off_test.flux",
															Source: "\"_value\"",
															Start: ast.Position{
																Column: 28,
																Line:   32,
															},
														},
													},
													Value: "_value",
												},
												Rbrack: nil,
											},
											Operator: 17,
											Right: &ast.FloatLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   32,
														},
														File:   "merge_filter_flag_off_test.flux",
														Source: "1.77",
														Start: ast.Position{
															Column: 41,
															Line:   32,
														},
													},
												},
												Value: 1.77,
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   32,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   32,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   32,
														},
														File:   "merge_filter_flag_off_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   32,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   32,
									},
									File:   "merge_filter_flag_off_test.flux",
									Source: "filter(fn: (r) => r[\"_value\"] == 1.77)",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   32,
										},
										File:   "merge_filter_flag_off_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   32,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 49,
								Line:   33,
							},
							File:   "merge_filter_flag_off_test.flux",
							Source: "tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)\n    |> filter(fn: (r) => r[\"_field\"] == \"load4\")",
							Start: ast.Position{
								Column: 34,
								Line:   30,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   33,
									},
									File:   "merge_filter_flag_off_test.flux",
									Source: "fn: (r) => r[\"_field\"] == \"load4\"",
									Start: ast.Position{
										Column: 15,
										Line:   33,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   33,
										},
										File:   "merge_filter_flag_off_test.flux",
										Source: "fn: (r) => r[\"_field\"] == \"load4\"",
										Start: ast.Position{
											Column: 15,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   33,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   33,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   33,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "(r) => r[\"_field\"] == \"load4\"",
											Start: ast.Position{
												Column: 19,
												Line:   33,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   33,
												},
												File:   "merge_filter_flag_off_test.flux",
												Source: "r[\"_field\"] == \"load4\"",
												Start: ast.Position{
													Column: 26,
													Line:   33,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   33,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "r[\"_field\"]",
													Start: ast.Position{
														Column: 26,
														Line:   33,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   33,
														},
														File:   "merge_filter_flag_off_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   33,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 36,
															Line:   33,
														},
														File:   "merge_filter_flag_off_test.flux",
														Source: "\"_field\"",
														Start: ast.Position{
															Column: 28,
															Line:   33,
														},
													},
												},
												Value: "_field",
											},
											Rbrack: nil,
										},
										Operator: 17,
										Right: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   33,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "\"load4\"",
													Start: ast.Position{
														Column: 41,
														Line:   33,
													},
												},
											},
											Value: "load4",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   33,
												},
												File:   "merge_filter_flag_off_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   33,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   33,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   33,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   33,
								},
								File:   "merge_filter_flag_off_test.flux",
								Source: "filter(fn: (r) => r[\"_field\"] == \"load4\")",
								Start: ast.Position{
									Column: 8,
									Line:   33,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   33,
									},
									File:   "merge_filter_flag_off_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   33,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   30,
							},
							File:   "merge_filter_flag_off_test.flux",
							Source: "tables=<-",
							Start: ast.Position{
								Column: 20,
								Line:   30,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   30,
								},
								File:   "merge_filter_flag_off_test.flux",
								Source: "tables",
								Start: ast.Position{
									Column: 20,
									Line:   30,
								},
							},
						},
						Name: "tables",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   30,
							},
							File:   "merge_filter_flag_off_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   30,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 135,
							Line:   35,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "merge_filter_evaluate = () => ({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
						Start: ast.Position{
							Column: 6,
							Line:   35,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   35,
							},
							File:   "merge_filter_flag_off_test.flux",
							Source: "merge_filter_evaluate",
							Start: ast.Position{
								Column: 6,
								Line:   35,
							},
						},
					},
					Name: "merge_filter_evaluate",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 135,
								Line:   35,
							},
							File:   "merge_filter_flag_off_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
							Start: ast.Position{
								Column: 30,
								Line:   35,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 135,
									Line:   35,
								},
								File:   "merge_filter_flag_off_test.flux",
								Source: "({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
								Start: ast.Position{
									Column: 36,
									Line:   35,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 134,
										Line:   35,
									},
									File:   "merge_filter_flag_off_test.flux",
									Source: "{input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn}",
									Start: ast.Position{
										Column: 37,
										Line:   35,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   35,
										},
										File:   "merge_filter_flag_off_test.flux",
										Source: "input: testing.loadStorage(csv: input)",
										Start: ast.Position{
											Column: 38,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   35,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 38,
												Line:   35,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 75,
													Line:   35,
												},
												File:   "merge_filter_flag_off_test.flux",
												Source: "csv: input",
												Start: ast.Position{
													Column: 65,
													Line:   35,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   35,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "csv: input",
													Start: ast.Position{
														Column: 65,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   35,
														},
														File:   "merge_filter_flag_off_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 65,
															Line:   35,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   35,
														},
														File:   "merge_filter_flag_off_test.flux",
														Source: "input",
														Start: ast.Position{
															Column: 70,
															Line:   35,
														},
													},
												},
												Name: "input",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   35,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "testing.loadStorage(csv: input)",
											Start: ast.Position{
												Column: 45,
												Line:   35,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   35,
												},
												File:   "merge_filter_flag_off_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 45,
													Line:   35,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   35,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 45,
														Line:   35,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 64,
														Line:   35,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 53,
														Line:   35,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   35,
										},
										File:   "merge_filter_flag_off_test.flux",
										Source: "want: testing.loadMem(csv: output)",
										Start: ast.Position{
											Column: 78,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   35,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 78,
												Line:   35,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   35,
												},
												File:   "merge_filter_flag_off_test.flux",
												Source: "csv: output",
												Start: ast.Position{
													Column: 100,
													Line:   35,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   35,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "csv: output",
													Start: ast.Position{
														Column: 100,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   35,
														},
														File:   "merge_filter_flag_off_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 100,
															Line:   35,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   35,
														},
														File:   "merge_filter_flag_off_test.flux",
														Source: "output",
														Start: ast.Position{
															Column: 105,
															Line:   35,
														},
													},
												},
												Name: "output",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   35,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "testing.loadMem(csv: output)",
											Start: ast.Position{
												Column: 84,
												Line:   35,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   35,
												},
												File:   "merge_filter_flag_off_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 84,
													Line:   35,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   35,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 84,
														Line:   35,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   35,
													},
													File:   "merge_filter_flag_off_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 92,
														Line:   35,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 133,
											Line:   35,
										},
										File:   "merge_filter_flag_off_test.flux",
										Source: "fn: merge_filter_fn",
										Start: ast.Position{
											Column: 114,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   35,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   35,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 133,
												Line:   35,
											},
											File:   "merge_filter_flag_off_test.flux",
											Source: "merge_filter_fn",
											Start: ast.Position{
												Column: 118,
												Line:   35,
											},
										},
									},
									Name: "merge_filter_fn",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 135,
						Line:   35,
					},
					File:   "merge_filter_flag_off_test.flux",
					Source: "test merge_filter_evaluate = () => ({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
					Start: ast.Position{
						Column: 1,
						Line:   35,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "merge_filter_flag_off_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   5,
					},
					File:   "merge_filter_flag_off_test.flux",
					Source: "import \"planner\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   5,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "\"planner\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "planner",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "merge_filter_flag_off_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "merge_filter_flag_off_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "merge_filter_flag_off_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 135,
					Line:   33,
				},
				File:   "merge_filter_flag_on_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninput = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,double\n#group,false,false,false,true,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,system,host.local,load1,1.83\n,,0,2018-05-22T19:53:36Z,system,host.local,load1,1.63\n,,1,2018-05-22T19:53:26Z,system,host.local,load3,1.72\n,,2,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,2,2018-05-22T19:53:36Z,system,host.local,load4,1.78\n,,2,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"\noutput = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,false,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"\nmerge_filter_fn = (tables=<-) => tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)\n    |> filter(fn: (r) => r[\"_field\"] == \"load4\")\n\ntest merge_filter_evaluate = () => ({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "merge_filter_flag_on_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "merge_filter_flag_on_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "merge_filter_flag_on_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "merge_filter_flag_on_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "merge_filter_flag_on_test.flux",
					Source: "input = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,double\n#group,false,false,false,true,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,system,host.local,load1,1.83\n,,0,2018-05-22T19:53:36Z,system,host.local,load1,1.63\n,,1,2018-05-22T19:53:26Z,system,host.local,load3,1.72\n,,2,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,2,2018-05-22T19:53:36Z,system,host.local,load4,1.78\n,,2,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   8,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "input",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "input",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,double\n#group,false,false,false,true,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,system,host.local,load1,1.83\n,,0,2018-05-22T19:53:36Z,system,host.local,load1,1.63\n,,1,2018-05-22T19:53:26Z,system,host.local,load3,1.72\n,,2,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,2,2018-05-22T19:53:36Z,system,host.local,load4,1.78\n,,2,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"",
						Start: ast.Position{
							Column: 9,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,double\n#group,false,false,false,true,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,system,host.local,load1,1.83\n,,0,2018-05-22T19:53:36Z,system,host.local,load1,1.63\n,,1,2018-05-22T19:53:26Z,system,host.local,load3,1.72\n,,2,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,2,2018-05-22T19:53:36Z,system,host.local,load4,1.78\n,,2,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   27,
					},
					File:   "merge_filter_flag_on_test.flux",
					Source: "output = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,false,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   20,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "output",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "output",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   27,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,false,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,false,true,true,true,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,_field,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,load4,1.77\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,load4,1.77\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 49,
						Line:   31,
					},
					File:   "merge_filter_flag_on_test.flux",
					Source: "merge_filter_fn = (tables=<-) => tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)\n    |> filter(fn: (r) => r[\"_field\"] == \"load4\")",
					Start: ast.Position{
						Column: 1,
						Line:   28,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   28,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "merge_filter_fn",
						Start: ast.Position{
							Column: 1,
							Line:   28,
						},
					},
				},
				Name: "merge_filter_fn",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 49,
							Line:   31,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "(tables=<-) => tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)\n    |> filter(fn: (r) => r[\"_field\"] == \"load4\")",
						Start: ast.Position{
							Column: 19,
							Line:   28,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   28,
										},
										File:   "merge_filter_flag_on_test.flux",
										Source: "tables",
										Start: ast.Position{
											Column: 34,
											Line:   28,
										},
									},
								},
								Name: "tables",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   29,
									},
									File:   "merge_filter_flag_on_test.flux",
									Source: "tables\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 34,
										Line:   28,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   29,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   29,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   29,
												},
												File:   "merge_filter_flag_on_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   29,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   29,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   29,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   29,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   29,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   29,
										},
										File:   "merge_filter_flag_on_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   29,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   29,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   29,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   30,
								},
								File:   "merge_filter_flag_on_test.flux",
								Source: "tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)",
								Start: ast.Position{
									Column: 34,
									Line:   28,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   30,
										},
										File:   "merge_filter_flag_on_test.flux",
										Source: "fn: (r) => r[\"_value\"] == 1.77",
										Start: ast.Position{
											Column: 15,
											Line:   30,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   30,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "fn: (r) => r[\"_value\"] == 1.77",
											Start: ast.Position{
												Column: 15,
												Line:   30,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   30,
												},
												File:   "merge_filter_flag_on_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   30,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   30,
												},
												File:   "merge_filter_flag_on_test.flux",
												Source: "(r) => r[\"_value\"] == 1.77",
												Start: ast.Position{
													Column: 19,
													Line:   30,
												},
											},
										},
										Body: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   30,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "r[\"_value\"] == 1.77",
													Start: ast.Position{
														Column: 26,
														Line:   30,
													},
												},
											},
											Left: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 37,
															Line:   30,
														},
														File:   "merge_filter_flag_on_test.flux",
														Source: "r[\"_value\"]",
														Start: ast.Position{
															Column: 26,
															Line:   30,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   30,
															},
															File:   "merge_filter_flag_on_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 26,
																Line:   30,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 36,
																Line:   30,
															},
															File:   "merge_filter_flag_on_test.flux",
															Source: "\"_value\"",
															Start: ast.Position{
																Column: 28,
																Line:   30,
															},
														},
													},
													Value: "_value",
												},
												Rbrack: nil,
											},
											Operator: 17,
											Right: &ast.FloatLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   30,
														},
														File:   "merge_filter_flag_on_test.flux",
														Source: "1.77",
														Start: ast.Position{
															Column: 41,
															Line:   30,
														},
													},
												},
												Value: 1.77,
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   30,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   30,
														},
														File:   "merge_filter_flag_on_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   30,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   30,
									},
									File:   "merge_filter_flag_on_test.flux",
									Source: "filter(fn: (r) => r[\"_value\"] == 1.77)",
									Start: ast.Position{
										Column: 8,
										Line:   30,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   30,
										},
										File:   "merge_filter_flag_on_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   30,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 49,
								Line:   31,
							},
							File:   "merge_filter_flag_on_test.flux",
							Source: "tables\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r[\"_value\"] == 1.77)\n    |> filter(fn: (r) => r[\"_field\"] == \"load4\")",
							Start: ast.Position{
								Column: 34,
								Line:   28,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   31,
									},
									File:   "merge_filter_flag_on_test.flux",
									Source: "fn: (r) => r[\"_field\"] == \"load4\"",
									Start: ast.Position{
										Column: 15,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   31,
										},
										File:   "merge_filter_flag_on_test.flux",
										Source: "fn: (r) => r[\"_field\"] == \"load4\"",
										Start: ast.Position{
											Column: 15,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   31,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   31,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "(r) => r[\"_field\"] == \"load4\"",
											Start: ast.Position{
												Column: 19,
												Line:   31,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   31,
												},
												File:   "merge_filter_flag_on_test.flux",
												Source: "r[\"_field\"] == \"load4\"",
												Start: ast.Position{
													Column: 26,
													Line:   31,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   31,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "r[\"_field\"]",
													Start: ast.Position{
														Column: 26,
														Line:   31,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   31,
														},
														File:   "merge_filter_flag_on_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   31,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 36,
															Line:   31,
														},
														File:   "merge_filter_flag_on_test.flux",
														Source: "\"_field\"",
														Start: ast.Position{
															Column: 28,
															Line:   31,
														},
													},
												},
												Value: "_field",
											},
											Rbrack: nil,
										},
										Operator: 17,
										Right: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   31,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "\"load4\"",
													Start: ast.Position{
														Column: 41,
														Line:   31,
													},
												},
											},
											Value: "load4",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   31,
												},
												File:   "merge_filter_flag_on_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   31,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   31,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   31,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   31,
								},
								File:   "merge_filter_flag_on_test.flux",
								Source: "filter(fn: (r) => r[\"_field\"] == \"load4\")",
								Start: ast.Position{
									Column: 8,
									Line:   31,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   31,
									},
									File:   "merge_filter_flag_on_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   28,
							},
							File:   "merge_filter_flag_on_test.flux",
							Source: "tables=<-",
							Start: ast.Position{
								Column: 20,
								Line:   28,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   28,
								},
								File:   "merge_filter_flag_on_test.flux",
								Source: "tables",
								Start: ast.Position{
									Column: 20,
									Line:   28,
								},
							},
						},
						Name: "tables",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   28,
							},
							File:   "merge_filter_flag_on_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   28,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 135,
							Line:   33,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "merge_filter_evaluate = () => ({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
						Start: ast.Position{
							Column: 6,
							Line:   33,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   33,
							},
							File:   "merge_filter_flag_on_test.flux",
							Source: "merge_filter_evaluate",
							Start: ast.Position{
								Column: 6,
								Line:   33,
							},
						},
					},
					Name: "merge_filter_evaluate",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 135,
								Line:   33,
							},
							File:   "merge_filter_flag_on_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
							Start: ast.Position{
								Column: 30,
								Line:   33,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 135,
									Line:   33,
								},
								File:   "merge_filter_flag_on_test.flux",
								Source: "({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
								Start: ast.Position{
									Column: 36,
									Line:   33,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 134,
										Line:   33,
									},
									File:   "merge_filter_flag_on_test.flux",
									Source: "{input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn}",
									Start: ast.Position{
										Column: 37,
										Line:   33,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   33,
										},
										File:   "merge_filter_flag_on_test.flux",
										Source: "input: testing.loadStorage(csv: input)",
										Start: ast.Position{
											Column: 38,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   33,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 38,
												Line:   33,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 75,
													Line:   33,
												},
												File:   "merge_filter_flag_on_test.flux",
												Source: "csv: input",
												Start: ast.Position{
													Column: 65,
													Line:   33,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   33,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "csv: input",
													Start: ast.Position{
														Column: 65,
														Line:   33,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   33,
														},
														File:   "merge_filter_flag_on_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 65,
															Line:   33,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   33,
														},
														File:   "merge_filter_flag_on_test.flux",
														Source: "input",
														Start: ast.Position{
															Column: 70,
															Line:   33,
														},
													},
												},
												Name: "input",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   33,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "testing.loadStorage(csv: input)",
											Start: ast.Position{
												Column: 45,
												Line:   33,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   33,
												},
												File:   "merge_filter_flag_on_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 45,
													Line:   33,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   33,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 45,
														Line:   33,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 64,
														Line:   33,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 53,
														Line:   33,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   33,
										},
										File:   "merge_filter_flag_on_test.flux",
										Source: "want: testing.loadMem(csv: output)",
										Start: ast.Position{
											Column: 78,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   33,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 78,
												Line:   33,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   33,
												},
												File:   "merge_filter_flag_on_test.flux",
												Source: "csv: output",
												Start: ast.Position{
													Column: 100,
													Line:   33,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   33,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "csv: output",
													Start: ast.Position{
														Column: 100,
														Line:   33,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   33,
														},
														File:   "merge_filter_flag_on_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 100,
															Line:   33,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   33,
														},
														File:   "merge_filter_flag_on_test.flux",
														Source: "output",
														Start: ast.Position{
															Column: 105,
															Line:   33,
														},
													},
												},
												Name: "output",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   33,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "testing.loadMem(csv: output)",
											Start: ast.Position{
												Column: 84,
												Line:   33,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   33,
												},
												File:   "merge_filter_flag_on_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 84,
													Line:   33,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   33,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 84,
														Line:   33,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   33,
													},
													File:   "merge_filter_flag_on_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 92,
														Line:   33,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 133,
											Line:   33,
										},
										File:   "merge_filter_flag_on_test.flux",
										Source: "fn: merge_filter_fn",
										Start: ast.Position{
											Column: 114,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   33,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   33,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 133,
												Line:   33,
											},
											File:   "merge_filter_flag_on_test.flux",
											Source: "merge_filter_fn",
											Start: ast.Position{
												Column: 118,
												Line:   33,
											},
										},
									},
									Name: "merge_filter_fn",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 135,
						Line:   33,
					},
					File:   "merge_filter_flag_on_test.flux",
					Source: "test merge_filter_evaluate = () => ({input: testing.loadStorage(csv: input), want: testing.loadMem(csv: output), fn: merge_filter_fn})",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "merge_filter_flag_on_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "merge_filter_flag_on_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "merge_filter_flag_on_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "merge_filter_flag_on_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 134,
					Line:   83,
				},
				File:   "meta_query_keys_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string\n#group,false,false,true,true,true,true,true,true,false\n#default,0,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,cpu,host,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_start\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_stop\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_field\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_measurement\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,host\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_start\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_stop\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_field\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_measurement\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,host\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_start\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_stop\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_field\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_measurement\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,host\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_start\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_stop\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_field\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_measurement\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,cpu\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,host\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_start\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_stop\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_field\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_measurement\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,cpu\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,host\n\"\nt_meta_query_keys = (table=<-) => {\n    return table\n        |> range(start: 2018-05-22T19:53:26Z)\n        |> filter(fn: (r) => r._measurement == \"cpu\")\n        |> keys()\n}\n\ntest _meta_query_keys = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_meta_query_keys})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "meta_query_keys_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "meta_query_keys_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "meta_query_keys_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "meta_query_keys_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "meta_query_keys_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   39,
					},
					File:   "meta_query_keys_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "meta_query_keys_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   39,
						},
						File:   "meta_query_keys_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu-total,host.local\n,,3,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   75,
					},
					File:   "meta_query_keys_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string\n#group,false,false,true,true,true,true,true,true,false\n#default,0,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,cpu,host,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_start\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_stop\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_field\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_measurement\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,host\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_start\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_stop\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_field\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_measurement\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,host\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_start\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_stop\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_field\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_measurement\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,host\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_start\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_stop\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_field\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_measurement\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,cpu\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,host\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_start\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_stop\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_field\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_measurement\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,cpu\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,host\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   40,
						},
						File:   "meta_query_keys_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   40,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   75,
						},
						File:   "meta_query_keys_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string\n#group,false,false,true,true,true,true,true,true,false\n#default,0,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,cpu,host,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_start\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_stop\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_field\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_measurement\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,host\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_start\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_stop\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_field\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_measurement\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,host\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_start\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_stop\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_field\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_measurement\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,host\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_start\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_stop\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_field\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_measurement\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,cpu\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,host\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_start\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_stop\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_field\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_measurement\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,cpu\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,host\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   40,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string\n#group,false,false,true,true,true,true,true,true,false\n#default,0,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,cpu,host,_value\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_start\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_stop\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_field\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,_measurement\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,cpu\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest,cpu,cpu-total,host.local,host\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_start\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_stop\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_field\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,_measurement\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,cpu\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_guest_nice,cpu,cpu-total,host.local,host\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_start\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_stop\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_field\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,_measurement\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,cpu\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_idle,cpu,cpu-total,host.local,host\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_start\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_stop\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_field\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,_measurement\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,cpu\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_iowait,cpu,cpu-total,host.local,host\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_start\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_stop\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_field\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,_measurement\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,cpu\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,usage_irq,cpu,cpu-total,host.local,host\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   81,
					},
					File:   "meta_query_keys_test.flux",
					Source: "t_meta_query_keys = (table=<-) => {\n    return table\n        |> range(start: 2018-05-22T19:53:26Z)\n        |> filter(fn: (r) => r._measurement == \"cpu\")\n        |> keys()\n}",
					Start: ast.Position{
						Column: 1,
						Line:   76,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 18,
							Line:   76,
						},
						File:   "meta_query_keys_test.flux",
						Source: "t_meta_query_keys",
						Start: ast.Position{
							Column: 1,
							Line:   76,
						},
					},
				},
				Name: "t_meta_query_keys",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   81,
						},
						File:   "meta_query_keys_test.flux",
						Source: "(table=<-) => {\n    return table\n        |> range(start: 2018-05-22T19:53:26Z)\n        |> filter(fn: (r) => r._measurement == \"cpu\")\n        |> keys()\n}",
						Start: ast.Position{
							Column: 21,
							Line:   76,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   81,
							},
							File:   "meta_query_keys_test.flux",
							Source: "{\n    return table\n        |> range(start: 2018-05-22T19:53:26Z)\n        |> filter(fn: (r) => r._measurement == \"cpu\")\n        |> keys()\n}",
							Start: ast.Position{
								Column: 35,
								Line:   76,
							},
						},
					},
					Body: []ast.Statement{&ast.ReturnStatement{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   77,
												},
												File:   "meta_query_keys_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 12,
													Line:   77,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   78,
											},
											File:   "meta_query_keys_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:26Z)",
											Start: ast.Position{
												Column: 12,
												Line:   77,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   78,
													},
													File:   "meta_query_keys_test.flux",
													Source: "start: 2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 18,
														Line:   78,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   78,
														},
														File:   "meta_query_keys_test.flux",
														Source: "start: 2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 18,
															Line:   78,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 23,
																Line:   78,
															},
															File:   "meta_query_keys_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 18,
																Line:   78,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   78,
															},
															File:   "meta_query_keys_test.flux",
															Source: "2018-05-22T19:53:26Z",
															Start: ast.Position{
																Column: 25,
																Line:   78,
															},
														},
													},
													Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 46,
													Line:   78,
												},
												File:   "meta_query_keys_test.flux",
												Source: "range(start: 2018-05-22T19:53:26Z)",
												Start: ast.Position{
													Column: 12,
													Line:   78,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   78,
													},
													File:   "meta_query_keys_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 12,
														Line:   78,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   79,
										},
										File:   "meta_query_keys_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:26Z)\n        |> filter(fn: (r) => r._measurement == \"cpu\")",
										Start: ast.Position{
											Column: 12,
											Line:   77,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   79,
												},
												File:   "meta_query_keys_test.flux",
												Source: "fn: (r) => r._measurement == \"cpu\"",
												Start: ast.Position{
													Column: 19,
													Line:   79,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   79,
													},
													File:   "meta_query_keys_test.flux",
													Source: "fn: (r) => r._measurement == \"cpu\"",
													Start: ast.Position{
														Column: 19,
														Line:   79,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   79,
														},
														File:   "meta_query_keys_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   79,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   79,
														},
														File:   "meta_query_keys_test.flux",
														Source: "(r) => r._measurement == \"cpu\"",
														Start: ast.Position{
															Column: 23,
															Line:   79,
														},
													},
												},
												Body: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 53,
																Line:   79,
															},
															File:   "meta_query_keys_test.flux",
															Source: "r._measurement == \"cpu\"",
															Start: ast.Position{
																Column: 30,
																Line:   79,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   79,
																},
																File:   "meta_query_keys_test.flux",
																Source: "r._measurement",
																Start: ast.Position{
																	Column: 30,
																	Line:   79,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 31,
																		Line:   79,
																	},
																	File:   "meta_query_keys_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 30,
																		Line:   79,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 44,
																		Line:   79,
																	},
																	File:   "meta_query_keys_test.flux",
																	Source: "_measurement",
																	Start: ast.Position{
																		Column: 32,
																		Line:   79,
																	},
																},
															},
															Name: "_measurement",
														},
														Rbrack: nil,
													},
													Operator: 17,
													Right: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 53,
																	Line:   79,
																},
																File:   "meta_query_keys_test.flux",
																Source: "\"cpu\"",
																Start: ast.Position{
																	Column: 48,
																	Line:   79,
																},
															},
														},
														Value: "cpu",
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   79,
															},
															File:   "meta_query_keys_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   79,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   79,
																},
																File:   "meta_query_keys_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   79,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 54,
												Line:   79,
											},
											File:   "meta_query_keys_test.flux",
											Source: "filter(fn: (r) => r._measurement == \"cpu\")",
											Start: ast.Position{
												Column: 12,
												Line:   79,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   79,
												},
												File:   "meta_query_keys_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   79,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   80,
									},
									File:   "meta_query_keys_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:26Z)\n        |> filter(fn: (r) => r._measurement == \"cpu\")\n        |> keys()",
									Start: ast.Position{
										Column: 12,
										Line:   77,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: nil,
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 18,
											Line:   80,
										},
										File:   "meta_query_keys_test.flux",
										Source: "keys()",
										Start: ast.Position{
											Column: 12,
											Line:   80,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   80,
											},
											File:   "meta_query_keys_test.flux",
											Source: "keys",
											Start: ast.Position{
												Column: 12,
												Line:   80,
											},
										},
									},
									Name: "keys",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   80,
								},
								File:   "meta_query_keys_test.flux",
								Source: "return table\n        |> range(start: 2018-05-22T19:53:26Z)\n        |> filter(fn: (r) => r._measurement == \"cpu\")\n        |> keys()",
								Start: ast.Position{
									Column: 5,
									Line:   77,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   76,
							},
							File:   "meta_query_keys_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 22,
								Line:   76,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   76,
								},
								File:   "meta_query_keys_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 22,
									Line:   76,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   76,
							},
							File:   "meta_query_keys_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 28,
								Line:   76,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 134,
							Line:   83,
						},
						File:   "meta_query_keys_test.flux",
						Source: "_meta_query_keys = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_meta_query_keys})",
						Start: ast.Position{
							Column: 6,
							Line:   83,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   83,
							},
							File:   "meta_query_keys_test.flux",
							Source: "_meta_query_keys",
							Start: ast.Position{
								Column: 6,
								Line:   83,
							},
						},
					},
					Name: "_meta_query_keys",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 134,
								Line:   83,
							},
							File:   "meta_query_keys_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_meta_query_keys})",
							Start: ast.Position{
								Column: 25,
								Line:   83,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 134,
									Line:   83,
								},
								File:   "meta_query_keys_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_meta_query_keys})",
								Start: ast.Position{
									Column: 31,
									Line:   83,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 133,
										Line:   83,
									},
									File:   "meta_query_keys_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_meta_query_keys}",
									Start: ast.Position{
										Column: 32,
										Line:   83,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 72,
											Line:   83,
										},
										File:   "meta_query_keys_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 33,
											Line:   83,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   83,
											},
											File:   "meta_query_keys_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 33,
												Line:   83,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   83,
												},
												File:   "meta_query_keys_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 60,
													Line:   83,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   83,
													},
													File:   "meta_query_keys_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 60,
														Line:   83,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   83,
														},
														File:   "meta_query_keys_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 60,
															Line:   83,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   83,
														},
														File:   "meta_query_keys_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 65,
															Line:   83,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   83,
											},
											File:   "meta_query_keys_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 40,
												Line:   83,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   83,
												},
												File:   "meta_query_keys_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 40,
													Line:   83,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   83,
													},
													File:   "meta_query_keys_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 40,
														Line:   83,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   83,
													},
													File:   "meta_query_keys_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 48,
														Line:   83,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 109,
											Line:   83,
										},
										File:   "meta_query_keys_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 74,
											Line:   83,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   83,
											},
											File:   "meta_query_keys_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 74,
												Line:   83,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 108,
													Line:   83,
												},
												File:   "meta_query_keys_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 96,
													Line:   83,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 108,
														Line:   83,
													},
													File:   "meta_query_keys_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 96,
														Line:   83,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   83,
														},
														File:   "meta_query_keys_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 96,
															Line:   83,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 108,
															Line:   83,
														},
														File:   "meta_query_keys_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 101,
															Line:   83,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   83,
											},
											File:   "meta_query_keys_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 80,
												Line:   83,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   83,
												},
												File:   "meta_query_keys_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 80,
													Line:   83,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   83,
													},
													File:   "meta_query_keys_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 80,
														Line:   83,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 95,
														Line:   83,
													},
													File:   "meta_query_keys_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 88,
														Line:   83,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 132,
											Line:   83,
										},
										File:   "meta_query_keys_test.flux",
										Source: "fn: t_meta_query_keys",
										Start: ast.Position{
											Column: 111,
											Line:   83,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   83,
											},
											File:   "meta_query_keys_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 111,
												Line:   83,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 132,
												Line:   83,
											},
											File:   "meta_query_keys_test.flux",
											Source: "t_meta_query_keys",
											Start: ast.Position{
												Column: 115,
												Line:   83,
											},
										},
									},
									Name: "t_meta_query_keys",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 134,
						Line:   83,
					},
					File:   "meta_query_keys_test.flux",
					Source: "test _meta_query_keys = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_meta_query_keys})",
					Start: ast.Position{
						Column: 1,
						Line:   83,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "meta_query_keys_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "meta_query_keys_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "meta_query_keys_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "meta_query_keys_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "meta_query_keys_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   52,
				},
				File:   "min_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n\"\nt_min = (table=<-) => table\n    |> min()\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _min = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_min})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "min_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "min_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "min_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "min_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "min_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "min_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "min_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "min_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "min_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   38,
						},
						File:   "min_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "min_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   38,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   50,
					},
					File:   "min_test.flux",
					Source: "t_min = (table=<-) => table\n    |> min()\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   48,
						},
						File:   "min_test.flux",
						Source: "t_min",
						Start: ast.Position{
							Column: 1,
							Line:   48,
						},
					},
				},
				Name: "t_min",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   50,
						},
						File:   "min_test.flux",
						Source: "(table=<-) => table\n    |> min()\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 9,
							Line:   48,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   48,
									},
									File:   "min_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 23,
										Line:   48,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   49,
								},
								File:   "min_test.flux",
								Source: "table\n    |> min()",
								Start: ast.Position{
									Column: 23,
									Line:   48,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: nil,
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   49,
									},
									File:   "min_test.flux",
									Source: "min()",
									Start: ast.Position{
										Column: 8,
										Line:   49,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   49,
										},
										File:   "min_test.flux",
										Source: "min",
										Start: ast.Position{
											Column: 8,
											Line:   49,
										},
									},
								},
								Name: "min",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   50,
							},
							File:   "min_test.flux",
							Source: "table\n    |> min()\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 23,
								Line:   48,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   50,
									},
									File:   "min_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   50,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   50,
										},
										File:   "min_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   50,
											},
											File:   "min_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   50,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   50,
											},
											File:   "min_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   50,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   50,
												},
												File:   "min_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   50,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   50,
												},
												File:   "min_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   50,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   50,
								},
								File:   "min_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   50,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   50,
									},
									File:   "min_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   50,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   48,
							},
							File:   "min_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   48,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   48,
								},
								File:   "min_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   48,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   48,
							},
							File:   "min_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   48,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   52,
						},
						File:   "min_test.flux",
						Source: "_min = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_min})",
						Start: ast.Position{
							Column: 6,
							Line:   52,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   52,
							},
							File:   "min_test.flux",
							Source: "_min",
							Start: ast.Position{
								Column: 6,
								Line:   52,
							},
						},
					},
					Name: "_min",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   52,
							},
							File:   "min_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_min})",
							Start: ast.Position{
								Column: 13,
								Line:   52,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   52,
								},
								File:   "min_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_min})",
								Start: ast.Position{
									Column: 19,
									Line:   52,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   52,
									},
									File:   "min_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_min}",
									Start: ast.Position{
										Column: 20,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   52,
										},
										File:   "min_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   52,
											},
											File:   "min_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   52,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   52,
												},
												File:   "min_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   52,
													},
													File:   "min_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   52,
														},
														File:   "min_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   52,
														},
														File:   "min_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   52,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   52,
											},
											File:   "min_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   52,
												},
												File:   "min_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   52,
													},
													File:   "min_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   52,
													},
													File:   "min_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   52,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   52,
										},
										File:   "min_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   52,
											},
											File:   "min_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   52,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   52,
												},
												File:   "min_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   52,
													},
													File:   "min_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   52,
														},
														File:   "min_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   52,
														},
														File:   "min_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   52,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   52,
											},
											File:   "min_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   52,
												},
												File:   "min_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   52,
													},
													File:   "min_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   52,
													},
													File:   "min_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   52,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   52,
										},
										File:   "min_test.flux",
										Source: "fn: t_min",
										Start: ast.Position{
											Column: 99,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   52,
											},
											File:   "min_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   52,
											},
											File:   "min_test.flux",
											Source: "t_min",
											Start: ast.Position{
												Column: 103,
												Line:   52,
											},
										},
									},
									Name: "t_min",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   52,
					},
					File:   "min_test.flux",
					Source: "test _min = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_min})",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "min_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "min_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "min_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "min_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "min_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   31,
				},
				File:   "mode_string_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,word\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,glass\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,more\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,or\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,less\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,glass\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,glass\n\"\nt_mode = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mode()\n\ntest _mode = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "mode_string_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "mode_string_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "mode_string_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "mode_string_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "mode_string_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "mode_string_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,word\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,glass\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,more\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,or\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,less\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,glass\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "mode_string_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "mode_string_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,word\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,glass\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,more\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,or\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,less\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,glass\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,word\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,glass\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,more\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,or\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,less\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,glass\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "mode_string_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,glass\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "mode_string_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "mode_string_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,glass\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,glass\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   29,
					},
					File:   "mode_string_test.flux",
					Source: "t_mode = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mode()",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   27,
						},
						File:   "mode_string_test.flux",
						Source: "t_mode",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "t_mode",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   29,
						},
						File:   "mode_string_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mode()",
						Start: ast.Position{
							Column: 10,
							Line:   27,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   27,
									},
									File:   "mode_string_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   27,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   28,
								},
								File:   "mode_string_test.flux",
								Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)",
								Start: ast.Position{
									Column: 24,
									Line:   27,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   28,
										},
										File:   "mode_string_test.flux",
										Source: "start: 2018-12-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   28,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   28,
											},
											File:   "mode_string_test.flux",
											Source: "start: 2018-12-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   28,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   28,
												},
												File:   "mode_string_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   28,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   28,
												},
												File:   "mode_string_test.flux",
												Source: "2018-12-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   28,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   28,
									},
									File:   "mode_string_test.flux",
									Source: "range(start: 2018-12-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   28,
										},
										File:   "mode_string_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   28,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   29,
							},
							File:   "mode_string_test.flux",
							Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mode()",
							Start: ast.Position{
								Column: 24,
								Line:   27,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   29,
								},
								File:   "mode_string_test.flux",
								Source: "mode()",
								Start: ast.Position{
									Column: 8,
									Line:   29,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   29,
									},
									File:   "mode_string_test.flux",
									Source: "mode",
									Start: ast.Position{
										Column: 8,
										Line:   29,
									},
								},
							},
							Name: "mode",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   27,
							},
							File:   "mode_string_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   27,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   27,
								},
								File:   "mode_string_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   27,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   27,
							},
							File:   "mode_string_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   27,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   31,
						},
						File:   "mode_string_test.flux",
						Source: "_mode = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
						Start: ast.Position{
							Column: 6,
							Line:   31,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   31,
							},
							File:   "mode_string_test.flux",
							Source: "_mode",
							Start: ast.Position{
								Column: 6,
								Line:   31,
							},
						},
					},
					Name: "_mode",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   31,
							},
							File:   "mode_string_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
							Start: ast.Position{
								Column: 14,
								Line:   31,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   31,
								},
								File:   "mode_string_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
								Start: ast.Position{
									Column: 20,
									Line:   31,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   31,
									},
									File:   "mode_string_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode}",
									Start: ast.Position{
										Column: 21,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   31,
										},
										File:   "mode_string_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   31,
											},
											File:   "mode_string_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   31,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   31,
												},
												File:   "mode_string_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   31,
													},
													File:   "mode_string_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   31,
														},
														File:   "mode_string_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   31,
														},
														File:   "mode_string_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   31,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   31,
											},
											File:   "mode_string_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   31,
												},
												File:   "mode_string_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   31,
													},
													File:   "mode_string_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   31,
													},
													File:   "mode_string_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   31,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   31,
										},
										File:   "mode_string_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   31,
											},
											File:   "mode_string_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   31,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   31,
												},
												File:   "mode_string_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   31,
													},
													File:   "mode_string_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   31,
														},
														File:   "mode_string_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   31,
														},
														File:   "mode_string_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   31,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   31,
											},
											File:   "mode_string_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   31,
												},
												File:   "mode_string_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   31,
													},
													File:   "mode_string_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   31,
													},
													File:   "mode_string_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   31,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   31,
										},
										File:   "mode_string_test.flux",
										Source: "fn: t_mode",
										Start: ast.Position{
											Column: 100,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   31,
											},
											File:   "mode_string_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   31,
											},
											File:   "mode_string_test.flux",
											Source: "t_mode",
											Start: ast.Position{
												Column: 104,
												Line:   31,
											},
										},
									},
									Name: "t_mode",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   31,
					},
					File:   "mode_string_test.flux",
					Source: "test _mode = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "mode_string_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "mode_string_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "mode_string_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "mode_string_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "mode_string_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   32,
				},
				File:   "mode_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,63\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,63\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,48\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,63\n\"\nt_mode = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mode()\n\ntest _mode = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "mode_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "mode_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "mode_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "mode_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "mode_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "mode_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,63\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,63\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "mode_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "mode_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,63\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,63\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,63\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,63\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   27,
					},
					File:   "mode_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,48\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,63\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "mode_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   27,
						},
						File:   "mode_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,48\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,63\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,48\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,63\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   30,
					},
					File:   "mode_test.flux",
					Source: "t_mode = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mode()",
					Start: ast.Position{
						Column: 1,
						Line:   28,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   28,
						},
						File:   "mode_test.flux",
						Source: "t_mode",
						Start: ast.Position{
							Column: 1,
							Line:   28,
						},
					},
				},
				Name: "t_mode",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   30,
						},
						File:   "mode_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mode()",
						Start: ast.Position{
							Column: 10,
							Line:   28,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   28,
									},
									File:   "mode_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   28,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   29,
								},
								File:   "mode_test.flux",
								Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)",
								Start: ast.Position{
									Column: 24,
									Line:   28,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   29,
										},
										File:   "mode_test.flux",
										Source: "start: 2018-12-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   29,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   29,
											},
											File:   "mode_test.flux",
											Source: "start: 2018-12-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   29,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   29,
												},
												File:   "mode_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   29,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   29,
												},
												File:   "mode_test.flux",
												Source: "2018-12-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   29,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   29,
									},
									File:   "mode_test.flux",
									Source: "range(start: 2018-12-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   29,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   29,
										},
										File:   "mode_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   29,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   30,
							},
							File:   "mode_test.flux",
							Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> mode()",
							Start: ast.Position{
								Column: 24,
								Line:   28,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   30,
								},
								File:   "mode_test.flux",
								Source: "mode()",
								Start: ast.Position{
									Column: 8,
									Line:   30,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   30,
									},
									File:   "mode_test.flux",
									Source: "mode",
									Start: ast.Position{
										Column: 8,
										Line:   30,
									},
								},
							},
							Name: "mode",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   28,
							},
							File:   "mode_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   28,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   28,
								},
								File:   "mode_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   28,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   28,
							},
							File:   "mode_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   28,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   32,
						},
						File:   "mode_test.flux",
						Source: "_mode = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
						Start: ast.Position{
							Column: 6,
							Line:   32,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   32,
							},
							File:   "mode_test.flux",
							Source: "_mode",
							Start: ast.Position{
								Column: 6,
								Line:   32,
							},
						},
					},
					Name: "_mode",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   32,
							},
							File:   "mode_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
							Start: ast.Position{
								Column: 14,
								Line:   32,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   32,
								},
								File:   "mode_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
								Start: ast.Position{
									Column: 20,
									Line:   32,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   32,
									},
									File:   "mode_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode}",
									Start: ast.Position{
										Column: 21,
										Line:   32,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   32,
										},
										File:   "mode_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   32,
											},
											File:   "mode_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   32,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   32,
												},
												File:   "mode_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   32,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   32,
													},
													File:   "mode_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   32,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   32,
														},
														File:   "mode_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   32,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   32,
														},
														File:   "mode_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   32,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   32,
											},
											File:   "mode_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   32,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   32,
												},
												File:   "mode_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   32,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   32,
													},
													File:   "mode_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   32,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   32,
													},
													File:   "mode_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   32,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   32,
										},
										File:   "mode_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   32,
											},
											File:   "mode_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   32,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   32,
												},
												File:   "mode_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   32,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   32,
													},
													File:   "mode_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   32,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   32,
														},
														File:   "mode_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   32,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   32,
														},
														File:   "mode_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   32,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   32,
											},
											File:   "mode_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   32,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   32,
												},
												File:   "mode_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   32,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   32,
													},
													File:   "mode_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   32,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   32,
													},
													File:   "mode_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   32,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   32,
										},
										File:   "mode_test.flux",
										Source: "fn: t_mode",
										Start: ast.Position{
											Column: 100,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   32,
											},
											File:   "mode_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   32,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   32,
											},
											File:   "mode_test.flux",
											Source: "t_mode",
											Start: ast.Position{
												Column: 104,
												Line:   32,
											},
										},
									},
									Name: "t_mode",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   32,
					},
					File:   "mode_test.flux",
					Source: "test _mode = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_mode})",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "mode_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "mode_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "mode_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "mode_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "mode_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   38,
				},
				File:   "multiple_range_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-22T19:54:06Z,2018-05-22T19:54:16Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"\nt_multiple_range = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:54:16Z)\n    |> range(start: 2018-05-22T19:54:06Z)\n\ntest _multiple_range = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_multiple_range})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "multiple_range_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "multiple_range_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "multiple_range_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "multiple_range_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "multiple_range_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   22,
					},
					File:   "multiple_range_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "multiple_range_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   22,
						},
						File:   "multiple_range_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   33,
					},
					File:   "multiple_range_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-22T19:54:06Z,2018-05-22T19:54:16Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   23,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   23,
						},
						File:   "multiple_range_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   23,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   33,
						},
						File:   "multiple_range_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-22T19:54:06Z,2018-05-22T19:54:16Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   23,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,1,2018-05-22T19:54:06Z,2018-05-22T19:54:16Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   36,
					},
					File:   "multiple_range_test.flux",
					Source: "t_multiple_range = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:54:16Z)\n    |> range(start: 2018-05-22T19:54:06Z)",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   34,
						},
						File:   "multiple_range_test.flux",
						Source: "t_multiple_range",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "t_multiple_range",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   36,
						},
						File:   "multiple_range_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:54:16Z)\n    |> range(start: 2018-05-22T19:54:06Z)",
						Start: ast.Position{
							Column: 20,
							Line:   34,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   34,
									},
									File:   "multiple_range_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   34,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   35,
								},
								File:   "multiple_range_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:54:16Z)",
								Start: ast.Position{
									Column: 34,
									Line:   34,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   35,
										},
										File:   "multiple_range_test.flux",
										Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:54:16Z",
										Start: ast.Position{
											Column: 14,
											Line:   35,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   35,
											},
											File:   "multiple_range_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   35,
												},
												File:   "multiple_range_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   35,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   35,
												},
												File:   "multiple_range_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   35,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   35,
											},
											File:   "multiple_range_test.flux",
											Source: "stop: 2018-05-22T19:54:16Z",
											Start: ast.Position{
												Column: 43,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   35,
												},
												File:   "multiple_range_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   35,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   35,
												},
												File:   "multiple_range_test.flux",
												Source: "2018-05-22T19:54:16Z",
												Start: ast.Position{
													Column: 49,
													Line:   35,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:54:16Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   35,
									},
									File:   "multiple_range_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:54:16Z)",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   35,
										},
										File:   "multiple_range_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   35,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   36,
							},
							File:   "multiple_range_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:54:16Z)\n    |> range(start: 2018-05-22T19:54:06Z)",
							Start: ast.Position{
								Column: 34,
								Line:   34,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   36,
									},
									File:   "multiple_range_test.flux",
									Source: "start: 2018-05-22T19:54:06Z",
									Start: ast.Position{
										Column: 14,
										Line:   36,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   36,
										},
										File:   "multiple_range_test.flux",
										Source: "start: 2018-05-22T19:54:06Z",
										Start: ast.Position{
											Column: 14,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   36,
											},
											File:   "multiple_range_test.flux",
											Source: "start",
											Start: ast.Position{
												Column: 14,
												Line:   36,
											},
										},
									},
									Name: "start",
								},
								Separator: nil,
								Value: &ast.DateTimeLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   36,
											},
											File:   "multiple_range_test.flux",
											Source: "2018-05-22T19:54:06Z",
											Start: ast.Position{
												Column: 21,
												Line:   36,
											},
										},
									},
									Value: parser.MustParseTime("2018-05-22T19:54:06Z"),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   36,
								},
								File:   "multiple_range_test.flux",
								Source: "range(start: 2018-05-22T19:54:06Z)",
								Start: ast.Position{
									Column: 8,
									Line:   36,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   36,
									},
									File:   "multiple_range_test.flux",
									Source: "range",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Name: "range",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   34,
							},
							File:   "multiple_range_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   34,
								},
								File:   "multiple_range_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   34,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   34,
							},
							File:   "multiple_range_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   34,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   38,
						},
						File:   "multiple_range_test.flux",
						Source: "_multiple_range = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_multiple_range})",
						Start: ast.Position{
							Column: 6,
							Line:   38,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   38,
							},
							File:   "multiple_range_test.flux",
							Source: "_multiple_range",
							Start: ast.Position{
								Column: 6,
								Line:   38,
							},
						},
					},
					Name: "_multiple_range",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   38,
							},
							File:   "multiple_range_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_multiple_range})",
							Start: ast.Position{
								Column: 24,
								Line:   38,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   38,
								},
								File:   "multiple_range_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_multiple_range})",
								Start: ast.Position{
									Column: 30,
									Line:   38,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   38,
									},
									File:   "multiple_range_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_multiple_range}",
									Start: ast.Position{
										Column: 31,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   38,
										},
										File:   "multiple_range_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   38,
											},
											File:   "multiple_range_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   38,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   38,
												},
												File:   "multiple_range_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   38,
													},
													File:   "multiple_range_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   38,
														},
														File:   "multiple_range_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   38,
														},
														File:   "multiple_range_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   38,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   38,
											},
											File:   "multiple_range_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   38,
												},
												File:   "multiple_range_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   38,
													},
													File:   "multiple_range_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   38,
													},
													File:   "multiple_range_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   38,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   38,
										},
										File:   "multiple_range_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   38,
											},
											File:   "multiple_range_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   38,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   38,
												},
												File:   "multiple_range_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   38,
													},
													File:   "multiple_range_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   38,
														},
														File:   "multiple_range_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   38,
														},
														File:   "multiple_range_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   38,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   38,
											},
											File:   "multiple_range_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   38,
												},
												File:   "multiple_range_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   38,
													},
													File:   "multiple_range_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   38,
													},
													File:   "multiple_range_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   38,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   38,
										},
										File:   "multiple_range_test.flux",
										Source: "fn: t_multiple_range",
										Start: ast.Position{
											Column: 110,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   38,
											},
											File:   "multiple_range_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   38,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   38,
											},
											File:   "multiple_range_test.flux",
											Source: "t_multiple_range",
											Start: ast.Position{
												Column: 114,
												Line:   38,
											},
										},
									},
									Name: "t_multiple_range",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   38,
					},
					File:   "multiple_range_test.flux",
					Source: "test _multiple_range = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_multiple_range})",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "multiple_range_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "multiple_range_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "multiple_range_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "multiple_range_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "multiple_range_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 130,
					Line:   27,
				},
				File:   "null_as_value_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,failed to execute query: failed to initialize execute state: EOF,\n\"\noutData = \"err: error calling function \"\n\nfilter\n\": name \"\nnull\n\" does not exist in scope\n\"\n\nt_null_as_value = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._value == null)\n\ntest _null_as_value = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_null_as_value})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "null_as_value_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "null_as_value_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "null_as_value_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "null_as_value_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "null_as_value_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   14,
					},
					File:   "null_as_value_test.flux",
					Source: "inData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,failed to execute query: failed to initialize execute state: EOF,\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "null_as_value_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   14,
						},
						File:   "null_as_value_test.flux",
						Source: "\"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,failed to execute query: failed to initialize execute state: EOF,\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,failed to execute query: failed to initialize execute state: EOF,\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 41,
						Line:   15,
					},
					File:   "null_as_value_test.flux",
					Source: "outData = \"err: error calling function \"",
					Start: ast.Position{
						Column: 1,
						Line:   15,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   15,
						},
						File:   "null_as_value_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   15,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 41,
							Line:   15,
						},
						File:   "null_as_value_test.flux",
						Source: "\"err: error calling function \"",
						Start: ast.Position{
							Column: 11,
							Line:   15,
						},
					},
				},
				Value: "err: error calling function ",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 7,
						Line:   17,
					},
					File:   "null_as_value_test.flux",
					Source: "filter",
					Start: ast.Position{
						Column: 1,
						Line:   17,
					},
				},
			},
			Expression: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   17,
						},
						File:   "null_as_value_test.flux",
						Source: "filter",
						Start: ast.Position{
							Column: 1,
							Line:   17,
						},
					},
				},
				Name: "filter",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 10,
						Line:   18,
					},
					File:   "null_as_value_test.flux",
					Source: "\": name \"",
					Start: ast.Position{
						Column: 1,
						Line:   18,
					},
				},
			},
			Expression: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   18,
						},
						File:   "null_as_value_test.flux",
						Source: "\": name \"",
						Start: ast.Position{
							Column: 1,
							Line:   18,
						},
					},
				},
				Value: ": name ",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 5,
						Line:   19,
					},
					File:   "null_as_value_test.flux",
					Source: "null",
					Start: ast.Position{
						Column: 1,
						Line:   19,
					},
				},
			},
			Expression: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 5,
							Line:   19,
						},
						File:   "null_as_value_test.flux",
						Source: "null",
						Start: ast.Position{
							Column: 1,
							Line:   19,
						},
					},
				},
				Name: "null",
			},
		}, &ast.ExpressionStatement{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   21,
					},
					File:   "null_as_value_test.flux",
					Source: "\" does not exist in scope\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			Expression: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   21,
						},
						File:   "null_as_value_test.flux",
						Source: "\" does not exist in scope\n\"",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Value: " does not exist in scope\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 43,
						Line:   25,
					},
					File:   "null_as_value_test.flux",
					Source: "t_null_as_value = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._value == null)",
					Start: ast.Position{
						Column: 1,
						Line:   23,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   23,
						},
						File:   "null_as_value_test.flux",
						Source: "t_null_as_value",
						Start: ast.Position{
							Column: 1,
							Line:   23,
						},
					},
				},
				Name: "t_null_as_value",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 43,
							Line:   25,
						},
						File:   "null_as_value_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._value == null)",
						Start: ast.Position{
							Column: 19,
							Line:   23,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   23,
									},
									File:   "null_as_value_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 33,
										Line:   23,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   24,
								},
								File:   "null_as_value_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 33,
									Line:   23,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   24,
										},
										File:   "null_as_value_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   24,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   24,
											},
											File:   "null_as_value_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   24,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   24,
												},
												File:   "null_as_value_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   24,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   24,
												},
												File:   "null_as_value_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   24,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   24,
									},
									File:   "null_as_value_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   24,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   24,
										},
										File:   "null_as_value_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   24,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 43,
								Line:   25,
							},
							File:   "null_as_value_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._value == null)",
							Start: ast.Position{
								Column: 33,
								Line:   23,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   25,
									},
									File:   "null_as_value_test.flux",
									Source: "fn: (r) => r._value == null",
									Start: ast.Position{
										Column: 15,
										Line:   25,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   25,
										},
										File:   "null_as_value_test.flux",
										Source: "fn: (r) => r._value == null",
										Start: ast.Position{
											Column: 15,
											Line:   25,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   25,
											},
											File:   "null_as_value_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   25,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   25,
											},
											File:   "null_as_value_test.flux",
											Source: "(r) => r._value == null",
											Start: ast.Position{
												Column: 19,
												Line:   25,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   25,
												},
												File:   "null_as_value_test.flux",
												Source: "r._value == null",
												Start: ast.Position{
													Column: 26,
													Line:   25,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   25,
													},
													File:   "null_as_value_test.flux",
													Source: "r._value",
													Start: ast.Position{
														Column: 26,
														Line:   25,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   25,
														},
														File:   "null_as_value_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   25,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   25,
														},
														File:   "null_as_value_test.flux",
														Source: "_value",
														Start: ast.Position{
															Column: 28,
															Line:   25,
														},
													},
												},
												Name: "_value",
											},
											Rbrack: nil,
										},
										Operator: 17,
										Right: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   25,
													},
													File:   "null_as_value_test.flux",
													Source: "null",
													Start: ast.Position{
														Column: 38,
														Line:   25,
													},
												},
											},
											Name: "null",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   25,
												},
												File:   "null_as_value_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   25,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   25,
													},
													File:   "null_as_value_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   25,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 43,
									Line:   25,
								},
								File:   "null_as_value_test.flux",
								Source: "filter(fn: (r) => r._value == null)",
								Start: ast.Position{
									Column: 8,
									Line:   25,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   25,
									},
									File:   "null_as_value_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   25,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   23,
							},
							File:   "null_as_value_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 20,
								Line:   23,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   23,
								},
								File:   "null_as_value_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 20,
									Line:   23,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   23,
							},
							File:   "null_as_value_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 26,
								Line:   23,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 130,
							Line:   27,
						},
						File:   "null_as_value_test.flux",
						Source: "_null_as_value = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_null_as_value})",
						Start: ast.Position{
							Column: 6,
							Line:   27,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   27,
							},
							File:   "null_as_value_test.flux",
							Source: "_null_as_value",
							Start: ast.Position{
								Column: 6,
								Line:   27,
							},
						},
					},
					Name: "_null_as_value",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 130,
								Line:   27,
							},
							File:   "null_as_value_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_null_as_value})",
							Start: ast.Position{
								Column: 23,
								Line:   27,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 130,
									Line:   27,
								},
								File:   "null_as_value_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_null_as_value})",
								Start: ast.Position{
									Column: 29,
									Line:   27,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 129,
										Line:   27,
									},
									File:   "null_as_value_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_null_as_value}",
									Start: ast.Position{
										Column: 30,
										Line:   27,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   27,
										},
										File:   "null_as_value_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 31,
											Line:   27,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   27,
											},
											File:   "null_as_value_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 31,
												Line:   27,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   27,
												},
												File:   "null_as_value_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 58,
													Line:   27,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   27,
													},
													File:   "null_as_value_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 58,
														Line:   27,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   27,
														},
														File:   "null_as_value_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 58,
															Line:   27,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   27,
														},
														File:   "null_as_value_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 63,
															Line:   27,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   27,
											},
											File:   "null_as_value_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 38,
												Line:   27,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   27,
												},
												File:   "null_as_value_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 38,
													Line:   27,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   27,
													},
													File:   "null_as_value_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 38,
														Line:   27,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   27,
													},
													File:   "null_as_value_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 46,
														Line:   27,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 107,
											Line:   27,
										},
										File:   "null_as_value_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 72,
											Line:   27,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   27,
											},
											File:   "null_as_value_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 72,
												Line:   27,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   27,
												},
												File:   "null_as_value_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 94,
													Line:   27,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   27,
													},
													File:   "null_as_value_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 94,
														Line:   27,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   27,
														},
														File:   "null_as_value_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 94,
															Line:   27,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   27,
														},
														File:   "null_as_value_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 99,
															Line:   27,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   27,
											},
											File:   "null_as_value_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 78,
												Line:   27,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   27,
												},
												File:   "null_as_value_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 78,
													Line:   27,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   27,
													},
													File:   "null_as_value_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 78,
														Line:   27,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   27,
													},
													File:   "null_as_value_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 86,
														Line:   27,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 128,
											Line:   27,
										},
										File:   "null_as_value_test.flux",
										Source: "fn: t_null_as_value",
										Start: ast.Position{
											Column: 109,
											Line:   27,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   27,
											},
											File:   "null_as_value_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 109,
												Line:   27,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 128,
												Line:   27,
											},
											File:   "null_as_value_test.flux",
											Source: "t_null_as_value",
											Start: ast.Position{
												Column: 113,
												Line:   27,
											},
										},
									},
									Name: "t_null_as_value",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 130,
						Line:   27,
					},
					File:   "null_as_value_test.flux",
					Source: "test _null_as_value = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_null_as_value})",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "null_as_value_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "null_as_value_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "null_as_value_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "null_as_value_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "null_as_value_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 126,
					Line:   40,
				},
				File:   "parse_regex_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n\"\nfilterRegex = /inodes*/\nt_parse_regex = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ filterRegex)\n    |> max()\n\ntest _parse_regex = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_parse_regex})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "parse_regex_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "parse_regex_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "parse_regex_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "parse_regex_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "parse_regex_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "parse_regex_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "parse_regex_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "parse_regex_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:54:16Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   33,
					},
					File:   "parse_regex_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "parse_regex_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   33,
						},
						File:   "parse_regex_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-20T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   34,
					},
					File:   "parse_regex_test.flux",
					Source: "filterRegex = /inodes*/",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   34,
						},
						File:   "parse_regex_test.flux",
						Source: "filterRegex",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "filterRegex",
			},
			Init: &ast.RegexpLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   34,
						},
						File:   "parse_regex_test.flux",
						Source: "/inodes*/",
						Start: ast.Position{
							Column: 15,
							Line:   34,
						},
					},
				},
				Value: regexp.MustCompile("inodes*"),
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   38,
					},
					File:   "parse_regex_test.flux",
					Source: "t_parse_regex = (table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ filterRegex)\n    |> max()",
					Start: ast.Position{
						Column: 1,
						Line:   35,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   35,
						},
						File:   "parse_regex_test.flux",
						Source: "t_parse_regex",
						Start: ast.Position{
							Column: 1,
							Line:   35,
						},
					},
				},
				Name: "t_parse_regex",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   38,
						},
						File:   "parse_regex_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ filterRegex)\n    |> max()",
						Start: ast.Position{
							Column: 17,
							Line:   35,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   35,
										},
										File:   "parse_regex_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 31,
											Line:   35,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   36,
									},
									File:   "parse_regex_test.flux",
									Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)",
									Start: ast.Position{
										Column: 31,
										Line:   35,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   36,
											},
											File:   "parse_regex_test.flux",
											Source: "start: 2018-05-20T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   36,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   36,
												},
												File:   "parse_regex_test.flux",
												Source: "start: 2018-05-20T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   36,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   36,
													},
													File:   "parse_regex_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   36,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   36,
													},
													File:   "parse_regex_test.flux",
													Source: "2018-05-20T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   36,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-20T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   36,
										},
										File:   "parse_regex_test.flux",
										Source: "range(start: 2018-05-20T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   36,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   36,
											},
											File:   "parse_regex_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   36,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 50,
									Line:   37,
								},
								File:   "parse_regex_test.flux",
								Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ filterRegex)",
								Start: ast.Position{
									Column: 31,
									Line:   35,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   37,
										},
										File:   "parse_regex_test.flux",
										Source: "fn: (r) => r._field =~ filterRegex",
										Start: ast.Position{
											Column: 15,
											Line:   37,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   37,
											},
											File:   "parse_regex_test.flux",
											Source: "fn: (r) => r._field =~ filterRegex",
											Start: ast.Position{
												Column: 15,
												Line:   37,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   37,
												},
												File:   "parse_regex_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   37,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   37,
												},
												File:   "parse_regex_test.flux",
												Source: "(r) => r._field =~ filterRegex",
												Start: ast.Position{
													Column: 19,
													Line:   37,
												},
											},
										},
										Body: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   37,
													},
													File:   "parse_regex_test.flux",
													Source: "r._field =~ filterRegex",
													Start: ast.Position{
														Column: 26,
														Line:   37,
													},
												},
											},
											Left: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   37,
														},
														File:   "parse_regex_test.flux",
														Source: "r._field",
														Start: ast.Position{
															Column: 26,
															Line:   37,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 27,
																Line:   37,
															},
															File:   "parse_regex_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 26,
																Line:   37,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 34,
																Line:   37,
															},
															File:   "parse_regex_test.flux",
															Source: "_field",
															Start: ast.Position{
																Column: 28,
																Line:   37,
															},
														},
													},
													Name: "_field",
												},
												Rbrack: nil,
											},
											Operator: 19,
											Right: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 49,
															Line:   37,
														},
														File:   "parse_regex_test.flux",
														Source: "filterRegex",
														Start: ast.Position{
															Column: 38,
															Line:   37,
														},
													},
												},
												Name: "filterRegex",
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   37,
													},
													File:   "parse_regex_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   37,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   37,
														},
														File:   "parse_regex_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   37,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 50,
										Line:   37,
									},
									File:   "parse_regex_test.flux",
									Source: "filter(fn: (r) => r._field =~ filterRegex)",
									Start: ast.Position{
										Column: 8,
										Line:   37,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   37,
										},
										File:   "parse_regex_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   37,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   38,
							},
							File:   "parse_regex_test.flux",
							Source: "table\n    |> range(start: 2018-05-20T19:53:26Z)\n    |> filter(fn: (r) => r._field =~ filterRegex)\n    |> max()",
							Start: ast.Position{
								Column: 31,
								Line:   35,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   38,
								},
								File:   "parse_regex_test.flux",
								Source: "max()",
								Start: ast.Position{
									Column: 8,
									Line:   38,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   38,
									},
									File:   "parse_regex_test.flux",
									Source: "max",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Name: "max",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   35,
							},
							File:   "parse_regex_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 18,
								Line:   35,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 23,
									Line:   35,
								},
								File:   "parse_regex_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 18,
									Line:   35,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   35,
							},
							File:   "parse_regex_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 24,
								Line:   35,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 126,
							Line:   40,
						},
						File:   "parse_regex_test.flux",
						Source: "_parse_regex = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_parse_regex})",
						Start: ast.Position{
							Column: 6,
							Line:   40,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   40,
							},
							File:   "parse_regex_test.flux",
							Source: "_parse_regex",
							Start: ast.Position{
								Column: 6,
								Line:   40,
							},
						},
					},
					Name: "_parse_regex",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 126,
								Line:   40,
							},
							File:   "parse_regex_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_parse_regex})",
							Start: ast.Position{
								Column: 21,
								Line:   40,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 126,
									Line:   40,
								},
								File:   "parse_regex_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_parse_regex})",
								Start: ast.Position{
									Column: 27,
									Line:   40,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 125,
										Line:   40,
									},
									File:   "parse_regex_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_parse_regex}",
									Start: ast.Position{
										Column: 28,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   40,
										},
										File:   "parse_regex_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 29,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   40,
											},
											File:   "parse_regex_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 29,
												Line:   40,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   40,
												},
												File:   "parse_regex_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 56,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   40,
													},
													File:   "parse_regex_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 56,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   40,
														},
														File:   "parse_regex_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 56,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   40,
														},
														File:   "parse_regex_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 61,
															Line:   40,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   40,
											},
											File:   "parse_regex_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 36,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   40,
												},
												File:   "parse_regex_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 36,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   40,
													},
													File:   "parse_regex_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 36,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   40,
													},
													File:   "parse_regex_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 44,
														Line:   40,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 105,
											Line:   40,
										},
										File:   "parse_regex_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 70,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   40,
											},
											File:   "parse_regex_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 70,
												Line:   40,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   40,
												},
												File:   "parse_regex_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 92,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   40,
													},
													File:   "parse_regex_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 92,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 95,
															Line:   40,
														},
														File:   "parse_regex_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 92,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 104,
															Line:   40,
														},
														File:   "parse_regex_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 97,
															Line:   40,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   40,
											},
											File:   "parse_regex_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 76,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 91,
													Line:   40,
												},
												File:   "parse_regex_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 76,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   40,
													},
													File:   "parse_regex_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 76,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   40,
													},
													File:   "parse_regex_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 84,
														Line:   40,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 124,
											Line:   40,
										},
										File:   "parse_regex_test.flux",
										Source: "fn: t_parse_regex",
										Start: ast.Position{
											Column: 107,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   40,
											},
											File:   "parse_regex_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 107,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 124,
												Line:   40,
											},
											File:   "parse_regex_test.flux",
											Source: "t_parse_regex",
											Start: ast.Position{
												Column: 111,
												Line:   40,
											},
										},
									},
									Name: "t_parse_regex",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 126,
						Line:   40,
					},
					File:   "parse_regex_test.flux",
					Source: "test _parse_regex = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_parse_regex})",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "parse_regex_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "parse_regex_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "parse_regex_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "parse_regex_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "parse_regex_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   56,
				},
				File:   "pivot_col_order_test.flux",
				Source: "package universe_test\n\n\n// \nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,double,double,double\r\n#group,false,false,true,true,false,true,false,false,false,false\r\n#default,0,,,,,,,,,\r\n,result,table,_start,_stop,_time,host,system_load1,system_load15,system_load5,swap_used_percent\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,host.local,1.83,1.98,1.95,82.9833984375\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,host.local,1.7,1.97,1.92,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,host.local,1.74,1.97,1.92,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,host.local,1.63,1.96,1.89,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,host.local,1.91,1.98,1.94,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,host.local,1.84,1.97,1.93,82.6416015625\r\n\"\nt_pivot = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_measurement\", \"_field\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")\n\ntest _pivot = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   7,
						},
						File:   "pivot_col_order_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   7,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   7,
							},
							File:   "pivot_col_order_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   7,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   7,
							},
							File:   "pivot_col_order_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   7,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   7,
								},
								File:   "pivot_col_order_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   7,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   7,
					},
					File:   "pivot_col_order_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   38,
					},
					File:   "pivot_col_order_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   9,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   9,
						},
						File:   "pivot_col_order_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   9,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   38,
						},
						File:   "pivot_col_order_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   9,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   50,
					},
					File:   "pivot_col_order_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,double,double,double\r\n#group,false,false,true,true,false,true,false,false,false,false\r\n#default,0,,,,,,,,,\r\n,result,table,_start,_stop,_time,host,system_load1,system_load15,system_load5,swap_used_percent\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,host.local,1.83,1.98,1.95,82.9833984375\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,host.local,1.7,1.97,1.92,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,host.local,1.74,1.97,1.92,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,host.local,1.63,1.96,1.89,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,host.local,1.91,1.98,1.94,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,host.local,1.84,1.97,1.93,82.6416015625\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   39,
						},
						File:   "pivot_col_order_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   39,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   50,
						},
						File:   "pivot_col_order_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,double,double,double\r\n#group,false,false,true,true,false,true,false,false,false,false\r\n#default,0,,,,,,,,,\r\n,result,table,_start,_stop,_time,host,system_load1,system_load15,system_load5,swap_used_percent\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,host.local,1.83,1.98,1.95,82.9833984375\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,host.local,1.7,1.97,1.92,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,host.local,1.74,1.97,1.92,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,host.local,1.63,1.96,1.89,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,host.local,1.91,1.98,1.94,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,host.local,1.84,1.97,1.93,82.6416015625\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   39,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,double,double,double\r\n#group,false,false,true,true,false,true,false,false,false,false\r\n#default,0,,,,,,,,,\r\n,result,table,_start,_stop,_time,host,system_load1,system_load15,system_load5,swap_used_percent\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,host.local,1.83,1.98,1.95,82.9833984375\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,host.local,1.7,1.97,1.92,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,host.local,1.74,1.97,1.92,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,host.local,1.63,1.96,1.89,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,host.local,1.91,1.98,1.94,82.598876953125\r\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,host.local,1.84,1.97,1.93,82.6416015625\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   54,
					},
					File:   "pivot_col_order_test.flux",
					Source: "t_pivot = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_measurement\", \"_field\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
					Start: ast.Position{
						Column: 1,
						Line:   51,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   51,
						},
						File:   "pivot_col_order_test.flux",
						Source: "t_pivot",
						Start: ast.Position{
							Column: 1,
							Line:   51,
						},
					},
				},
				Name: "t_pivot",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   54,
						},
						File:   "pivot_col_order_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_measurement\", \"_field\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
						Start: ast.Position{
							Column: 11,
							Line:   51,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 30,
											Line:   51,
										},
										File:   "pivot_col_order_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 25,
											Line:   51,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   52,
									},
									File:   "pivot_col_order_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 25,
										Line:   51,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   52,
											},
											File:   "pivot_col_order_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   52,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   52,
												},
												File:   "pivot_col_order_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   52,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   52,
													},
													File:   "pivot_col_order_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   52,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   52,
													},
													File:   "pivot_col_order_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   52,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   52,
										},
										File:   "pivot_col_order_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   52,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   52,
											},
											File:   "pivot_col_order_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   52,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 94,
									Line:   53,
								},
								File:   "pivot_col_order_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_measurement\", \"_field\"], valueColumn: \"_value\")",
								Start: ast.Position{
									Column: 25,
									Line:   51,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 93,
											Line:   53,
										},
										File:   "pivot_col_order_test.flux",
										Source: "rowKey: [\"_time\"], columnKey: [\"_measurement\", \"_field\"], valueColumn: \"_value\"",
										Start: ast.Position{
											Column: 14,
											Line:   53,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   53,
											},
											File:   "pivot_col_order_test.flux",
											Source: "rowKey: [\"_time\"]",
											Start: ast.Position{
												Column: 14,
												Line:   53,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   53,
												},
												File:   "pivot_col_order_test.flux",
												Source: "rowKey",
												Start: ast.Position{
													Column: 14,
													Line:   53,
												},
											},
										},
										Name: "rowKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   53,
												},
												File:   "pivot_col_order_test.flux",
												Source: "[\"_time\"]",
												Start: ast.Position{
													Column: 22,
													Line:   53,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   53,
													},
													File:   "pivot_col_order_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 23,
														Line:   53,
													},
												},
											},
											Value: "_time",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   53,
											},
											File:   "pivot_col_order_test.flux",
											Source: "columnKey: [\"_measurement\", \"_field\"]",
											Start: ast.Position{
												Column: 33,
												Line:   53,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   53,
												},
												File:   "pivot_col_order_test.flux",
												Source: "columnKey",
												Start: ast.Position{
													Column: 33,
													Line:   53,
												},
											},
										},
										Name: "columnKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   53,
												},
												File:   "pivot_col_order_test.flux",
												Source: "[\"_measurement\", \"_field\"]",
												Start: ast.Position{
													Column: 44,
													Line:   53,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   53,
													},
													File:   "pivot_col_order_test.flux",
													Source: "\"_measurement\"",
													Start: ast.Position{
														Column: 45,
														Line:   53,
													},
												},
											},
											Value: "_measurement",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   53,
													},
													File:   "pivot_col_order_test.flux",
													Source: "\"_field\"",
													Start: ast.Position{
														Column: 61,
														Line:   53,
													},
												},
											},
											Value: "_field",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 93,
												Line:   53,
											},
											File:   "pivot_col_order_test.flux",
											Source: "valueColumn: \"_value\"",
											Start: ast.Position{
												Column: 72,
												Line:   53,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   53,
												},
												File:   "pivot_col_order_test.flux",
												Source: "valueColumn",
												Start: ast.Position{
													Column: 72,
													Line:   53,
												},
											},
										},
										Name: "valueColumn",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   53,
												},
												File:   "pivot_col_order_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 85,
													Line:   53,
												},
											},
										},
										Value: "_value",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 94,
										Line:   53,
									},
									File:   "pivot_col_order_test.flux",
									Source: "pivot(rowKey: [\"_time\"], columnKey: [\"_measurement\", \"_field\"], valueColumn: \"_value\")",
									Start: ast.Position{
										Column: 8,
										Line:   53,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   53,
										},
										File:   "pivot_col_order_test.flux",
										Source: "pivot",
										Start: ast.Position{
											Column: 8,
											Line:   53,
										},
									},
								},
								Name: "pivot",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   54,
							},
							File:   "pivot_col_order_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_measurement\", \"_field\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
							Start: ast.Position{
								Column: 25,
								Line:   51,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   54,
									},
									File:   "pivot_col_order_test.flux",
									Source: "name: \"0\"",
									Start: ast.Position{
										Column: 14,
										Line:   54,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   54,
										},
										File:   "pivot_col_order_test.flux",
										Source: "name: \"0\"",
										Start: ast.Position{
											Column: 14,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   54,
											},
											File:   "pivot_col_order_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   54,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   54,
											},
											File:   "pivot_col_order_test.flux",
											Source: "\"0\"",
											Start: ast.Position{
												Column: 20,
												Line:   54,
											},
										},
									},
									Value: "0",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   54,
								},
								File:   "pivot_col_order_test.flux",
								Source: "yield(name: \"0\")",
								Start: ast.Position{
									Column: 8,
									Line:   54,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   54,
									},
									File:   "pivot_col_order_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   54,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   51,
							},
							File:   "pivot_col_order_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   51,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   51,
								},
								File:   "pivot_col_order_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   51,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   51,
							},
							File:   "pivot_col_order_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   51,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   56,
						},
						File:   "pivot_col_order_test.flux",
						Source: "_pivot = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
						Start: ast.Position{
							Column: 6,
							Line:   56,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   56,
							},
							File:   "pivot_col_order_test.flux",
							Source: "_pivot",
							Start: ast.Position{
								Column: 6,
								Line:   56,
							},
						},
					},
					Name: "_pivot",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   56,
							},
							File:   "pivot_col_order_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
							Start: ast.Position{
								Column: 15,
								Line:   56,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   56,
								},
								File:   "pivot_col_order_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
								Start: ast.Position{
									Column: 21,
									Line:   56,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   56,
									},
									File:   "pivot_col_order_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot}",
									Start: ast.Position{
										Column: 22,
										Line:   56,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   56,
										},
										File:   "pivot_col_order_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   56,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   56,
											},
											File:   "pivot_col_order_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   56,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   56,
												},
												File:   "pivot_col_order_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   56,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   56,
													},
													File:   "pivot_col_order_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   56,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   56,
														},
														File:   "pivot_col_order_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   56,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   56,
														},
														File:   "pivot_col_order_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   56,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   56,
											},
											File:   "pivot_col_order_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   56,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   56,
												},
												File:   "pivot_col_order_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   56,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   56,
													},
													File:   "pivot_col_order_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   56,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   56,
													},
													File:   "pivot_col_order_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   56,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   56,
										},
										File:   "pivot_col_order_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   56,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   56,
											},
											File:   "pivot_col_order_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   56,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   56,
												},
												File:   "pivot_col_order_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   56,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   56,
													},
													File:   "pivot_col_order_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   56,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   56,
														},
														File:   "pivot_col_order_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   56,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   56,
														},
														File:   "pivot_col_order_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   56,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   56,
											},
											File:   "pivot_col_order_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   56,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   56,
												},
												File:   "pivot_col_order_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   56,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   56,
													},
													File:   "pivot_col_order_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   56,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   56,
													},
													File:   "pivot_col_order_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   56,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   56,
										},
										File:   "pivot_col_order_test.flux",
										Source: "fn: t_pivot",
										Start: ast.Position{
											Column: 101,
											Line:   56,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   56,
											},
											File:   "pivot_col_order_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   56,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   56,
											},
											File:   "pivot_col_order_test.flux",
											Source: "t_pivot",
											Start: ast.Position{
												Column: 105,
												Line:   56,
											},
										},
									},
									Name: "t_pivot",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   56,
					},
					File:   "pivot_col_order_test.flux",
					Source: "test _pivot = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: []ast.Comment{ast.Comment{Text: "// \n"}},
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   5,
					},
					File:   "pivot_col_order_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   5,
						},
						File:   "pivot_col_order_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "pivot_col_order_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "pivot_col_order_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "pivot_col_order_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 128,
					Line:   72,
				},
				File:   "pivot_fields_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,93,load5,system,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,82,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,83,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,84,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,85,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,false,true,true,false\n#default,got,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,used_percent\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,swap,host.local,82\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,swap,host.local,83\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,swap,host.local,84\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,swap,host.local,85\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,swap,host.local,82\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,double,double,long\n#group,false,false,true,true,false,true,true,false,false,false\n#default,got,,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,load1,load15,load5\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,1.83,1.98,95\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,system,host.local,1.7,1.97,92\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,1.74,1.97,92\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,system,host.local,1.63,1.96,89\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,system,host.local,1.91,1.98,94\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,system,host.local,1.84,1.97,93\n\"\nt_pivot_fields = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")\n\ntest _pivot_fields = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_fields})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "pivot_fields_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "pivot_fields_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "pivot_fields_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "pivot_fields_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "pivot_fields_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   45,
					},
					File:   "pivot_fields_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,93,load5,system,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,82,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,83,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,84,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,85,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "pivot_fields_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   45,
						},
						File:   "pivot_fields_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,93,load5,system,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,82,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,83,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,84,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,85,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,2,2018-05-22T19:53:26Z,95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,93,load5,system,host.local\n\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,82,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,83,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,84,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,85,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   66,
					},
					File:   "pivot_fields_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,false,true,true,false\n#default,got,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,used_percent\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,swap,host.local,82\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,swap,host.local,83\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,swap,host.local,84\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,swap,host.local,85\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,swap,host.local,82\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,double,double,long\n#group,false,false,true,true,false,true,true,false,false,false\n#default,got,,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,load1,load15,load5\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,1.83,1.98,95\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,system,host.local,1.7,1.97,92\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,1.74,1.97,92\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,system,host.local,1.63,1.96,89\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,system,host.local,1.91,1.98,94\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,system,host.local,1.84,1.97,93\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   46,
						},
						File:   "pivot_fields_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   46,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   66,
						},
						File:   "pivot_fields_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,false,true,true,false\n#default,got,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,used_percent\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,swap,host.local,82\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,swap,host.local,83\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,swap,host.local,84\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,swap,host.local,85\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,swap,host.local,82\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,double,double,long\n#group,false,false,true,true,false,true,true,false,false,false\n#default,got,,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,load1,load15,load5\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,1.83,1.98,95\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,system,host.local,1.7,1.97,92\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,1.74,1.97,92\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,system,host.local,1.63,1.96,89\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,system,host.local,1.91,1.98,94\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,system,host.local,1.84,1.97,93\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   46,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,false,true,true,false\n#default,got,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,used_percent\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,swap,host.local,82\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,swap,host.local,83\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,swap,host.local,84\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,swap,host.local,85\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,swap,host.local,82\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,double,double,long\n#group,false,false,true,true,false,true,true,false,false,false\n#default,got,,,,,,,,,\n,result,table,_start,_stop,_time,_measurement,host,load1,load15,load5\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,system,host.local,1.83,1.98,95\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,system,host.local,1.7,1.97,92\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,system,host.local,1.74,1.97,92\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,system,host.local,1.63,1.96,89\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,system,host.local,1.91,1.98,94\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,system,host.local,1.84,1.97,93\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   70,
					},
					File:   "pivot_fields_test.flux",
					Source: "t_pivot_fields = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
					Start: ast.Position{
						Column: 1,
						Line:   67,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   67,
						},
						File:   "pivot_fields_test.flux",
						Source: "t_pivot_fields",
						Start: ast.Position{
							Column: 1,
							Line:   67,
						},
					},
				},
				Name: "t_pivot_fields",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   70,
						},
						File:   "pivot_fields_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
						Start: ast.Position{
							Column: 18,
							Line:   67,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   67,
										},
										File:   "pivot_fields_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 32,
											Line:   67,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   68,
									},
									File:   "pivot_fields_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 32,
										Line:   67,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   68,
											},
											File:   "pivot_fields_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   68,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   68,
												},
												File:   "pivot_fields_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   68,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   68,
													},
													File:   "pivot_fields_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   68,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   68,
													},
													File:   "pivot_fields_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   68,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   68,
										},
										File:   "pivot_fields_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   68,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   68,
											},
											File:   "pivot_fields_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   68,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 78,
									Line:   69,
								},
								File:   "pivot_fields_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
								Start: ast.Position{
									Column: 32,
									Line:   67,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 77,
											Line:   69,
										},
										File:   "pivot_fields_test.flux",
										Source: "rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\"",
										Start: ast.Position{
											Column: 14,
											Line:   69,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   69,
											},
											File:   "pivot_fields_test.flux",
											Source: "rowKey: [\"_time\"]",
											Start: ast.Position{
												Column: 14,
												Line:   69,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   69,
												},
												File:   "pivot_fields_test.flux",
												Source: "rowKey",
												Start: ast.Position{
													Column: 14,
													Line:   69,
												},
											},
										},
										Name: "rowKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   69,
												},
												File:   "pivot_fields_test.flux",
												Source: "[\"_time\"]",
												Start: ast.Position{
													Column: 22,
													Line:   69,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   69,
													},
													File:   "pivot_fields_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 23,
														Line:   69,
													},
												},
											},
											Value: "_time",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 54,
												Line:   69,
											},
											File:   "pivot_fields_test.flux",
											Source: "columnKey: [\"_field\"]",
											Start: ast.Position{
												Column: 33,
												Line:   69,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   69,
												},
												File:   "pivot_fields_test.flux",
												Source: "columnKey",
												Start: ast.Position{
													Column: 33,
													Line:   69,
												},
											},
										},
										Name: "columnKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   69,
												},
												File:   "pivot_fields_test.flux",
												Source: "[\"_field\"]",
												Start: ast.Position{
													Column: 44,
													Line:   69,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   69,
													},
													File:   "pivot_fields_test.flux",
													Source: "\"_field\"",
													Start: ast.Position{
														Column: 45,
														Line:   69,
													},
												},
											},
											Value: "_field",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   69,
											},
											File:   "pivot_fields_test.flux",
											Source: "valueColumn: \"_value\"",
											Start: ast.Position{
												Column: 56,
												Line:   69,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   69,
												},
												File:   "pivot_fields_test.flux",
												Source: "valueColumn",
												Start: ast.Position{
													Column: 56,
													Line:   69,
												},
											},
										},
										Name: "valueColumn",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 77,
													Line:   69,
												},
												File:   "pivot_fields_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 69,
													Line:   69,
												},
											},
										},
										Value: "_value",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 78,
										Line:   69,
									},
									File:   "pivot_fields_test.flux",
									Source: "pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
									Start: ast.Position{
										Column: 8,
										Line:   69,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   69,
										},
										File:   "pivot_fields_test.flux",
										Source: "pivot",
										Start: ast.Position{
											Column: 8,
											Line:   69,
										},
									},
								},
								Name: "pivot",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   70,
							},
							File:   "pivot_fields_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
							Start: ast.Position{
								Column: 32,
								Line:   67,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   70,
									},
									File:   "pivot_fields_test.flux",
									Source: "name: \"0\"",
									Start: ast.Position{
										Column: 14,
										Line:   70,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   70,
										},
										File:   "pivot_fields_test.flux",
										Source: "name: \"0\"",
										Start: ast.Position{
											Column: 14,
											Line:   70,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   70,
											},
											File:   "pivot_fields_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   70,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   70,
											},
											File:   "pivot_fields_test.flux",
											Source: "\"0\"",
											Start: ast.Position{
												Column: 20,
												Line:   70,
											},
										},
									},
									Value: "0",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   70,
								},
								File:   "pivot_fields_test.flux",
								Source: "yield(name: \"0\")",
								Start: ast.Position{
									Column: 8,
									Line:   70,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   70,
									},
									File:   "pivot_fields_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   70,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   67,
							},
							File:   "pivot_fields_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 19,
								Line:   67,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   67,
								},
								File:   "pivot_fields_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 19,
									Line:   67,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   67,
							},
							File:   "pivot_fields_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 25,
								Line:   67,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 128,
							Line:   72,
						},
						File:   "pivot_fields_test.flux",
						Source: "_pivot_fields = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_fields})",
						Start: ast.Position{
							Column: 6,
							Line:   72,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   72,
							},
							File:   "pivot_fields_test.flux",
							Source: "_pivot_fields",
							Start: ast.Position{
								Column: 6,
								Line:   72,
							},
						},
					},
					Name: "_pivot_fields",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 128,
								Line:   72,
							},
							File:   "pivot_fields_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_fields})",
							Start: ast.Position{
								Column: 22,
								Line:   72,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 128,
									Line:   72,
								},
								File:   "pivot_fields_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_fields})",
								Start: ast.Position{
									Column: 28,
									Line:   72,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 127,
										Line:   72,
									},
									File:   "pivot_fields_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_fields}",
									Start: ast.Position{
										Column: 29,
										Line:   72,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   72,
										},
										File:   "pivot_fields_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 30,
											Line:   72,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   72,
											},
											File:   "pivot_fields_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 30,
												Line:   72,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   72,
												},
												File:   "pivot_fields_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 57,
													Line:   72,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   72,
													},
													File:   "pivot_fields_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 57,
														Line:   72,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   72,
														},
														File:   "pivot_fields_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 57,
															Line:   72,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   72,
														},
														File:   "pivot_fields_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 62,
															Line:   72,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   72,
											},
											File:   "pivot_fields_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 37,
												Line:   72,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   72,
												},
												File:   "pivot_fields_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 37,
													Line:   72,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   72,
													},
													File:   "pivot_fields_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 37,
														Line:   72,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   72,
													},
													File:   "pivot_fields_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 45,
														Line:   72,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   72,
										},
										File:   "pivot_fields_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 71,
											Line:   72,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   72,
											},
											File:   "pivot_fields_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 71,
												Line:   72,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 105,
													Line:   72,
												},
												File:   "pivot_fields_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 93,
													Line:   72,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   72,
													},
													File:   "pivot_fields_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 93,
														Line:   72,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   72,
														},
														File:   "pivot_fields_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 93,
															Line:   72,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   72,
														},
														File:   "pivot_fields_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 98,
															Line:   72,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   72,
											},
											File:   "pivot_fields_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 77,
												Line:   72,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   72,
												},
												File:   "pivot_fields_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 77,
													Line:   72,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   72,
													},
													File:   "pivot_fields_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 77,
														Line:   72,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   72,
													},
													File:   "pivot_fields_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 85,
														Line:   72,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 126,
											Line:   72,
										},
										File:   "pivot_fields_test.flux",
										Source: "fn: t_pivot_fields",
										Start: ast.Position{
											Column: 108,
											Line:   72,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   72,
											},
											File:   "pivot_fields_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 108,
												Line:   72,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 126,
												Line:   72,
											},
											File:   "pivot_fields_test.flux",
											Source: "t_pivot_fields",
											Start: ast.Position{
												Column: 112,
												Line:   72,
											},
										},
									},
									Name: "t_pivot_fields",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 128,
						Line:   72,
					},
					File:   "pivot_fields_test.flux",
					Source: "test _pivot_fields = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_fields})",
					Start: ast.Position{
						Column: 1,
						Line:   72,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "pivot_fields_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "pivot_fields_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "pivot_fields_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "pivot_fields_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "pivot_fields_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   34,
				},
				File:   "pivot_mean_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.remote,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.remote,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.remote,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double,double\n#group,false,false,true,true,true,false,false\n#default,0,,,,,,\n,result,table,_stop,_field,_measurement,host.local,host.remote\n,,0,2030-01-01T00:00:00Z,used_percent,disk,34.98237980753337,34.98224706603858\n\"\nt_pivot_mean = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"])\n    |> mean()\n    |> pivot(rowKey: [\"_stop\"], columnKey: [\"host\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")\n\ntest _pivot_mean = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_mean})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "pivot_mean_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "pivot_mean_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "pivot_mean_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "pivot_mean_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "pivot_mean_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "pivot_mean_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.remote,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.remote,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.remote,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "pivot_mean_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "pivot_mean_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.remote,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.remote,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.remote,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\n,,1,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.remote,/\n,,1,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.remote,/\n,,1,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.remote,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "pivot_mean_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double,double\n#group,false,false,true,true,true,false,false\n#default,0,,,,,,\n,result,table,_stop,_field,_measurement,host.local,host.remote\n,,0,2030-01-01T00:00:00Z,used_percent,disk,34.98237980753337,34.98224706603858\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "pivot_mean_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "pivot_mean_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,double,double\n#group,false,false,true,true,true,false,false\n#default,0,,,,,,\n,result,table,_stop,_field,_measurement,host.local,host.remote\n,,0,2030-01-01T00:00:00Z,used_percent,disk,34.98237980753337,34.98224706603858\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,double,double\n#group,false,false,true,true,true,false,false\n#default,0,,,,,,\n,result,table,_stop,_field,_measurement,host.local,host.remote\n,,0,2030-01-01T00:00:00Z,used_percent,disk,34.98237980753337,34.98224706603858\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   32,
					},
					File:   "pivot_mean_test.flux",
					Source: "t_pivot_mean = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"])\n    |> mean()\n    |> pivot(rowKey: [\"_stop\"], columnKey: [\"host\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   27,
						},
						File:   "pivot_mean_test.flux",
						Source: "t_pivot_mean",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "t_pivot_mean",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   32,
						},
						File:   "pivot_mean_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"])\n    |> mean()\n    |> pivot(rowKey: [\"_stop\"], columnKey: [\"host\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
						Start: ast.Position{
							Column: 16,
							Line:   27,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 35,
													Line:   27,
												},
												File:   "pivot_mean_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 30,
													Line:   27,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   28,
											},
											File:   "pivot_mean_test.flux",
											Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
											Start: ast.Position{
												Column: 30,
												Line:   27,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   28,
													},
													File:   "pivot_mean_test.flux",
													Source: "start: 2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 14,
														Line:   28,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   28,
														},
														File:   "pivot_mean_test.flux",
														Source: "start: 2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 14,
															Line:   28,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 19,
																Line:   28,
															},
															File:   "pivot_mean_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 14,
																Line:   28,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   28,
															},
															File:   "pivot_mean_test.flux",
															Source: "2018-05-22T19:53:26Z",
															Start: ast.Position{
																Column: 21,
																Line:   28,
															},
														},
													},
													Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   28,
												},
												File:   "pivot_mean_test.flux",
												Source: "range(start: 2018-05-22T19:53:26Z)",
												Start: ast.Position{
													Column: 8,
													Line:   28,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   28,
													},
													File:   "pivot_mean_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 8,
														Line:   28,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   29,
										},
										File:   "pivot_mean_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"])",
										Start: ast.Position{
											Column: 30,
											Line:   27,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   29,
												},
												File:   "pivot_mean_test.flux",
												Source: "columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"]",
												Start: ast.Position{
													Column: 14,
													Line:   29,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   29,
													},
													File:   "pivot_mean_test.flux",
													Source: "columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"]",
													Start: ast.Position{
														Column: 14,
														Line:   29,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   29,
														},
														File:   "pivot_mean_test.flux",
														Source: "columns",
														Start: ast.Position{
															Column: 14,
															Line:   29,
														},
													},
												},
												Name: "columns",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   29,
														},
														File:   "pivot_mean_test.flux",
														Source: "[\"_stop\", \"_measurement\", \"_field\", \"host\"]",
														Start: ast.Position{
															Column: 23,
															Line:   29,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 31,
																Line:   29,
															},
															File:   "pivot_mean_test.flux",
															Source: "\"_stop\"",
															Start: ast.Position{
																Column: 24,
																Line:   29,
															},
														},
													},
													Value: "_stop",
												}, &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 47,
																Line:   29,
															},
															File:   "pivot_mean_test.flux",
															Source: "\"_measurement\"",
															Start: ast.Position{
																Column: 33,
																Line:   29,
															},
														},
													},
													Value: "_measurement",
												}, &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 57,
																Line:   29,
															},
															File:   "pivot_mean_test.flux",
															Source: "\"_field\"",
															Start: ast.Position{
																Column: 49,
																Line:   29,
															},
														},
													},
													Value: "_field",
												}, &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 65,
																Line:   29,
															},
															File:   "pivot_mean_test.flux",
															Source: "\"host\"",
															Start: ast.Position{
																Column: 59,
																Line:   29,
															},
														},
													},
													Value: "host",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   29,
											},
											File:   "pivot_mean_test.flux",
											Source: "group(columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"])",
											Start: ast.Position{
												Column: 8,
												Line:   29,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 13,
													Line:   29,
												},
												File:   "pivot_mean_test.flux",
												Source: "group",
												Start: ast.Position{
													Column: 8,
													Line:   29,
												},
											},
										},
										Name: "group",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   30,
									},
									File:   "pivot_mean_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"])\n    |> mean()",
									Start: ast.Position{
										Column: 30,
										Line:   27,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: nil,
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   30,
										},
										File:   "pivot_mean_test.flux",
										Source: "mean()",
										Start: ast.Position{
											Column: 8,
											Line:   30,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 12,
												Line:   30,
											},
											File:   "pivot_mean_test.flux",
											Source: "mean",
											Start: ast.Position{
												Column: 8,
												Line:   30,
											},
										},
									},
									Name: "mean",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 76,
									Line:   31,
								},
								File:   "pivot_mean_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"])\n    |> mean()\n    |> pivot(rowKey: [\"_stop\"], columnKey: [\"host\"], valueColumn: \"_value\")",
								Start: ast.Position{
									Column: 30,
									Line:   27,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   31,
										},
										File:   "pivot_mean_test.flux",
										Source: "rowKey: [\"_stop\"], columnKey: [\"host\"], valueColumn: \"_value\"",
										Start: ast.Position{
											Column: 14,
											Line:   31,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   31,
											},
											File:   "pivot_mean_test.flux",
											Source: "rowKey: [\"_stop\"]",
											Start: ast.Position{
												Column: 14,
												Line:   31,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   31,
												},
												File:   "pivot_mean_test.flux",
												Source: "rowKey",
												Start: ast.Position{
													Column: 14,
													Line:   31,
												},
											},
										},
										Name: "rowKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   31,
												},
												File:   "pivot_mean_test.flux",
												Source: "[\"_stop\"]",
												Start: ast.Position{
													Column: 22,
													Line:   31,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   31,
													},
													File:   "pivot_mean_test.flux",
													Source: "\"_stop\"",
													Start: ast.Position{
														Column: 23,
														Line:   31,
													},
												},
											},
											Value: "_stop",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   31,
											},
											File:   "pivot_mean_test.flux",
											Source: "columnKey: [\"host\"]",
											Start: ast.Position{
												Column: 33,
												Line:   31,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   31,
												},
												File:   "pivot_mean_test.flux",
												Source: "columnKey",
												Start: ast.Position{
													Column: 33,
													Line:   31,
												},
											},
										},
										Name: "columnKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   31,
												},
												File:   "pivot_mean_test.flux",
												Source: "[\"host\"]",
												Start: ast.Position{
													Column: 44,
													Line:   31,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   31,
													},
													File:   "pivot_mean_test.flux",
													Source: "\"host\"",
													Start: ast.Position{
														Column: 45,
														Line:   31,
													},
												},
											},
											Value: "host",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   31,
											},
											File:   "pivot_mean_test.flux",
											Source: "valueColumn: \"_value\"",
											Start: ast.Position{
												Column: 54,
												Line:   31,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   31,
												},
												File:   "pivot_mean_test.flux",
												Source: "valueColumn",
												Start: ast.Position{
													Column: 54,
													Line:   31,
												},
											},
										},
										Name: "valueColumn",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 75,
													Line:   31,
												},
												File:   "pivot_mean_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 67,
													Line:   31,
												},
											},
										},
										Value: "_value",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 76,
										Line:   31,
									},
									File:   "pivot_mean_test.flux",
									Source: "pivot(rowKey: [\"_stop\"], columnKey: [\"host\"], valueColumn: \"_value\")",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   31,
										},
										File:   "pivot_mean_test.flux",
										Source: "pivot",
										Start: ast.Position{
											Column: 8,
											Line:   31,
										},
									},
								},
								Name: "pivot",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   32,
							},
							File:   "pivot_mean_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> group(columns: [\"_stop\", \"_measurement\", \"_field\", \"host\"])\n    |> mean()\n    |> pivot(rowKey: [\"_stop\"], columnKey: [\"host\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
							Start: ast.Position{
								Column: 30,
								Line:   27,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   32,
									},
									File:   "pivot_mean_test.flux",
									Source: "name: \"0\"",
									Start: ast.Position{
										Column: 14,
										Line:   32,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   32,
										},
										File:   "pivot_mean_test.flux",
										Source: "name: \"0\"",
										Start: ast.Position{
											Column: 14,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   32,
											},
											File:   "pivot_mean_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   32,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   32,
											},
											File:   "pivot_mean_test.flux",
											Source: "\"0\"",
											Start: ast.Position{
												Column: 20,
												Line:   32,
											},
										},
									},
									Value: "0",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   32,
								},
								File:   "pivot_mean_test.flux",
								Source: "yield(name: \"0\")",
								Start: ast.Position{
									Column: 8,
									Line:   32,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   32,
									},
									File:   "pivot_mean_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   27,
							},
							File:   "pivot_mean_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   27,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   27,
								},
								File:   "pivot_mean_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   27,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   27,
							},
							File:   "pivot_mean_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   27,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   34,
						},
						File:   "pivot_mean_test.flux",
						Source: "_pivot_mean = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_mean})",
						Start: ast.Position{
							Column: 6,
							Line:   34,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   34,
							},
							File:   "pivot_mean_test.flux",
							Source: "_pivot_mean",
							Start: ast.Position{
								Column: 6,
								Line:   34,
							},
						},
					},
					Name: "_pivot_mean",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   34,
							},
							File:   "pivot_mean_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_mean})",
							Start: ast.Position{
								Column: 20,
								Line:   34,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   34,
								},
								File:   "pivot_mean_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_mean})",
								Start: ast.Position{
									Column: 26,
									Line:   34,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   34,
									},
									File:   "pivot_mean_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_mean}",
									Start: ast.Position{
										Column: 27,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   34,
										},
										File:   "pivot_mean_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   34,
											},
											File:   "pivot_mean_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   34,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   34,
												},
												File:   "pivot_mean_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   34,
													},
													File:   "pivot_mean_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   34,
														},
														File:   "pivot_mean_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   34,
														},
														File:   "pivot_mean_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   34,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   34,
											},
											File:   "pivot_mean_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   34,
												},
												File:   "pivot_mean_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   34,
													},
													File:   "pivot_mean_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   34,
													},
													File:   "pivot_mean_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   34,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   34,
										},
										File:   "pivot_mean_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   34,
											},
											File:   "pivot_mean_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   34,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   34,
												},
												File:   "pivot_mean_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   34,
													},
													File:   "pivot_mean_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   34,
														},
														File:   "pivot_mean_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   34,
														},
														File:   "pivot_mean_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   34,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   34,
											},
											File:   "pivot_mean_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   34,
												},
												File:   "pivot_mean_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   34,
													},
													File:   "pivot_mean_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   34,
													},
													File:   "pivot_mean_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   34,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   34,
										},
										File:   "pivot_mean_test.flux",
										Source: "fn: t_pivot_mean",
										Start: ast.Position{
											Column: 106,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   34,
											},
											File:   "pivot_mean_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   34,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   34,
											},
											File:   "pivot_mean_test.flux",
											Source: "t_pivot_mean",
											Start: ast.Position{
												Column: 110,
												Line:   34,
											},
										},
									},
									Name: "t_pivot_mean",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   34,
					},
					File:   "pivot_mean_test.flux",
					Source: "test _pivot_mean = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_mean})",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "pivot_mean_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "pivot_mean_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "pivot_mean_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "pivot_mean_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "pivot_mean_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 134,
					Line:   45,
				},
				File:   "pivot_task_test_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,state,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,state,_measurement,requestedAt,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,true,true,false,true,true,true,true,false,false\n#default,_result,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,state,_measurement,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c922737000,2018-10-03T17:55:13Z\n\"\nt_pivot_task_test = (table=<-) => table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n\ntest _pivot_task_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_task_test})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "pivot_task_test_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "pivot_task_test_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "pivot_task_test_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "pivot_task_test_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "pivot_task_test_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   24,
					},
					File:   "pivot_task_test_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,state,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "pivot_task_test_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   24,
						},
						File:   "pivot_task_test_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,state,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,state,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   39,
					},
					File:   "pivot_task_test_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,state,_measurement,requestedAt,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,true,true,false,true,true,true,true,false,false\n#default,_result,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,state,_measurement,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c922737000,2018-10-03T17:55:13Z\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   25,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   25,
						},
						File:   "pivot_task_test_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   25,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   39,
						},
						File:   "pivot_task_test_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,state,_measurement,requestedAt,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,true,true,false,true,true,true,true,false,false\n#default,_result,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,state,_measurement,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c922737000,2018-10-03T17:55:13Z\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   25,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,state,_measurement,requestedAt,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,0,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,true,true,false,true,true,true,true,false,false\n#default,_result,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,state,_measurement,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2030-01-01T00:00:00Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c922737000,2018-10-03T17:55:13Z\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 78,
						Line:   43,
					},
					File:   "pivot_task_test_test.flux",
					Source: "t_pivot_task_test = (table=<-) => table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 18,
							Line:   40,
						},
						File:   "pivot_task_test_test.flux",
						Source: "t_pivot_task_test",
						Start: ast.Position{
							Column: 1,
							Line:   40,
						},
					},
				},
				Name: "t_pivot_task_test",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 78,
							Line:   43,
						},
						File:   "pivot_task_test_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
						Start: ast.Position{
							Column: 21,
							Line:   40,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   40,
										},
										File:   "pivot_task_test_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 35,
											Line:   40,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 49,
										Line:   41,
									},
									File:   "pivot_task_test_test.flux",
									Source: "table\n    |> range(start: 2018-10-02T17:55:11.520461Z)",
									Start: ast.Position{
										Column: 35,
										Line:   40,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   41,
											},
											File:   "pivot_task_test_test.flux",
											Source: "start: 2018-10-02T17:55:11.520461Z",
											Start: ast.Position{
												Column: 14,
												Line:   41,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   41,
												},
												File:   "pivot_task_test_test.flux",
												Source: "start: 2018-10-02T17:55:11.520461Z",
												Start: ast.Position{
													Column: 14,
													Line:   41,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   41,
													},
													File:   "pivot_task_test_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   41,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   41,
													},
													File:   "pivot_task_test_test.flux",
													Source: "2018-10-02T17:55:11.520461Z",
													Start: ast.Position{
														Column: 21,
														Line:   41,
													},
												},
											},
											Value: parser.MustParseTime("2018-10-02T17:55:11.520461Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   41,
										},
										File:   "pivot_task_test_test.flux",
										Source: "range(start: 2018-10-02T17:55:11.520461Z)",
										Start: ast.Position{
											Column: 8,
											Line:   41,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   41,
											},
											File:   "pivot_task_test_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   41,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 89,
									Line:   42,
								},
								File:   "pivot_task_test_test.flux",
								Source: "table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")",
								Start: ast.Position{
									Column: 35,
									Line:   40,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 88,
											Line:   42,
										},
										File:   "pivot_task_test_test.flux",
										Source: "fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
										Start: ast.Position{
											Column: 15,
											Line:   42,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 88,
												Line:   42,
											},
											File:   "pivot_task_test_test.flux",
											Source: "fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
											Start: ast.Position{
												Column: 15,
												Line:   42,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   42,
												},
												File:   "pivot_task_test_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   42,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 88,
													Line:   42,
												},
												File:   "pivot_task_test_test.flux",
												Source: "(r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
												Start: ast.Position{
													Column: 19,
													Line:   42,
												},
											},
										},
										Body: &ast.LogicalExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   42,
													},
													File:   "pivot_task_test_test.flux",
													Source: "r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
													Start: ast.Position{
														Column: 26,
														Line:   42,
													},
												},
											},
											Left: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   42,
														},
														File:   "pivot_task_test_test.flux",
														Source: "r._measurement == \"records\"",
														Start: ast.Position{
															Column: 26,
															Line:   42,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 40,
																Line:   42,
															},
															File:   "pivot_task_test_test.flux",
															Source: "r._measurement",
															Start: ast.Position{
																Column: 26,
																Line:   42,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 27,
																	Line:   42,
																},
																File:   "pivot_task_test_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 26,
																	Line:   42,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   42,
																},
																File:   "pivot_task_test_test.flux",
																Source: "_measurement",
																Start: ast.Position{
																	Column: 28,
																	Line:   42,
																},
															},
														},
														Name: "_measurement",
													},
													Rbrack: nil,
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 53,
																Line:   42,
															},
															File:   "pivot_task_test_test.flux",
															Source: "\"records\"",
															Start: ast.Position{
																Column: 44,
																Line:   42,
															},
														},
													},
													Value: "records",
												},
											},
											Operator: 1,
											Right: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   42,
														},
														File:   "pivot_task_test_test.flux",
														Source: "r.taskID == \"02bac3c8f0f37000\"",
														Start: ast.Position{
															Column: 58,
															Line:   42,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 66,
																Line:   42,
															},
															File:   "pivot_task_test_test.flux",
															Source: "r.taskID",
															Start: ast.Position{
																Column: 58,
																Line:   42,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 59,
																	Line:   42,
																},
																File:   "pivot_task_test_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 58,
																	Line:   42,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 66,
																	Line:   42,
																},
																File:   "pivot_task_test_test.flux",
																Source: "taskID",
																Start: ast.Position{
																	Column: 60,
																	Line:   42,
																},
															},
														},
														Name: "taskID",
													},
													Rbrack: nil,
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 88,
																Line:   42,
															},
															File:   "pivot_task_test_test.flux",
															Source: "\"02bac3c8f0f37000\"",
															Start: ast.Position{
																Column: 70,
																Line:   42,
															},
														},
													},
													Value: "02bac3c8f0f37000",
												},
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   42,
													},
													File:   "pivot_task_test_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   42,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   42,
														},
														File:   "pivot_task_test_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   42,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 89,
										Line:   42,
									},
									File:   "pivot_task_test_test.flux",
									Source: "filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")",
									Start: ast.Position{
										Column: 8,
										Line:   42,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   42,
										},
										File:   "pivot_task_test_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   42,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 78,
								Line:   43,
							},
							File:   "pivot_task_test_test.flux",
							Source: "table\n    |> range(start: 2018-10-02T17:55:11.520461Z)\n    |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
							Start: ast.Position{
								Column: 35,
								Line:   40,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 77,
										Line:   43,
									},
									File:   "pivot_task_test_test.flux",
									Source: "rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\"",
									Start: ast.Position{
										Column: 14,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 31,
											Line:   43,
										},
										File:   "pivot_task_test_test.flux",
										Source: "rowKey: [\"_time\"]",
										Start: ast.Position{
											Column: 14,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   43,
											},
											File:   "pivot_task_test_test.flux",
											Source: "rowKey",
											Start: ast.Position{
												Column: 14,
												Line:   43,
											},
										},
									},
									Name: "rowKey",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   43,
											},
											File:   "pivot_task_test_test.flux",
											Source: "[\"_time\"]",
											Start: ast.Position{
												Column: 22,
												Line:   43,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 30,
													Line:   43,
												},
												File:   "pivot_task_test_test.flux",
												Source: "\"_time\"",
												Start: ast.Position{
													Column: 23,
													Line:   43,
												},
											},
										},
										Value: "_time",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   43,
										},
										File:   "pivot_task_test_test.flux",
										Source: "columnKey: [\"_field\"]",
										Start: ast.Position{
											Column: 33,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   43,
											},
											File:   "pivot_task_test_test.flux",
											Source: "columnKey",
											Start: ast.Position{
												Column: 33,
												Line:   43,
											},
										},
									},
									Name: "columnKey",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 54,
												Line:   43,
											},
											File:   "pivot_task_test_test.flux",
											Source: "[\"_field\"]",
											Start: ast.Position{
												Column: 44,
												Line:   43,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   43,
												},
												File:   "pivot_task_test_test.flux",
												Source: "\"_field\"",
												Start: ast.Position{
													Column: 45,
													Line:   43,
												},
											},
										},
										Value: "_field",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 77,
											Line:   43,
										},
										File:   "pivot_task_test_test.flux",
										Source: "valueColumn: \"_value\"",
										Start: ast.Position{
											Column: 56,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   43,
											},
											File:   "pivot_task_test_test.flux",
											Source: "valueColumn",
											Start: ast.Position{
												Column: 56,
												Line:   43,
											},
										},
									},
									Name: "valueColumn",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   43,
											},
											File:   "pivot_task_test_test.flux",
											Source: "\"_value\"",
											Start: ast.Position{
												Column: 69,
												Line:   43,
											},
										},
									},
									Value: "_value",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 78,
									Line:   43,
								},
								File:   "pivot_task_test_test.flux",
								Source: "pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
								Start: ast.Position{
									Column: 8,
									Line:   43,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   43,
									},
									File:   "pivot_task_test_test.flux",
									Source: "pivot",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Name: "pivot",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   40,
							},
							File:   "pivot_task_test_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 22,
								Line:   40,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   40,
								},
								File:   "pivot_task_test_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 22,
									Line:   40,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   40,
							},
							File:   "pivot_task_test_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 28,
								Line:   40,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 134,
							Line:   45,
						},
						File:   "pivot_task_test_test.flux",
						Source: "_pivot_task_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_task_test})",
						Start: ast.Position{
							Column: 6,
							Line:   45,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   45,
							},
							File:   "pivot_task_test_test.flux",
							Source: "_pivot_task_test",
							Start: ast.Position{
								Column: 6,
								Line:   45,
							},
						},
					},
					Name: "_pivot_task_test",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 134,
								Line:   45,
							},
							File:   "pivot_task_test_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_task_test})",
							Start: ast.Position{
								Column: 25,
								Line:   45,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 134,
									Line:   45,
								},
								File:   "pivot_task_test_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_task_test})",
								Start: ast.Position{
									Column: 31,
									Line:   45,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 133,
										Line:   45,
									},
									File:   "pivot_task_test_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_task_test}",
									Start: ast.Position{
										Column: 32,
										Line:   45,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 72,
											Line:   45,
										},
										File:   "pivot_task_test_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 33,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   45,
											},
											File:   "pivot_task_test_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 33,
												Line:   45,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   45,
												},
												File:   "pivot_task_test_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 60,
													Line:   45,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   45,
													},
													File:   "pivot_task_test_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 60,
														Line:   45,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   45,
														},
														File:   "pivot_task_test_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 60,
															Line:   45,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   45,
														},
														File:   "pivot_task_test_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 65,
															Line:   45,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   45,
											},
											File:   "pivot_task_test_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 40,
												Line:   45,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   45,
												},
												File:   "pivot_task_test_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 40,
													Line:   45,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   45,
													},
													File:   "pivot_task_test_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 40,
														Line:   45,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   45,
													},
													File:   "pivot_task_test_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 48,
														Line:   45,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 109,
											Line:   45,
										},
										File:   "pivot_task_test_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 74,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   45,
											},
											File:   "pivot_task_test_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 74,
												Line:   45,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 108,
													Line:   45,
												},
												File:   "pivot_task_test_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 96,
													Line:   45,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 108,
														Line:   45,
													},
													File:   "pivot_task_test_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 96,
														Line:   45,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   45,
														},
														File:   "pivot_task_test_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 96,
															Line:   45,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 108,
															Line:   45,
														},
														File:   "pivot_task_test_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 101,
															Line:   45,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   45,
											},
											File:   "pivot_task_test_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 80,
												Line:   45,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   45,
												},
												File:   "pivot_task_test_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 80,
													Line:   45,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   45,
													},
													File:   "pivot_task_test_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 80,
														Line:   45,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 95,
														Line:   45,
													},
													File:   "pivot_task_test_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 88,
														Line:   45,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 132,
											Line:   45,
										},
										File:   "pivot_task_test_test.flux",
										Source: "fn: t_pivot_task_test",
										Start: ast.Position{
											Column: 111,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   45,
											},
											File:   "pivot_task_test_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 111,
												Line:   45,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 132,
												Line:   45,
											},
											File:   "pivot_task_test_test.flux",
											Source: "t_pivot_task_test",
											Start: ast.Position{
												Column: 115,
												Line:   45,
											},
										},
									},
									Name: "t_pivot_task_test",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 134,
						Line:   45,
					},
					File:   "pivot_task_test_test.flux",
					Source: "test _pivot_task_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot_task_test})",
					Start: ast.Position{
						Column: 1,
						Line:   45,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "pivot_task_test_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "pivot_task_test_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "pivot_task_test_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "pivot_task_test_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "pivot_task_test_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   55,
				},
				File:   "pivot_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,double,double,double\n#group,false,false,true,true,false,true,false,false,false,false\n#default,0,,,,,,,,,\n,result,table,_start,_stop,_time,host,load1_system,load15_system,load5_system,used_percent_swap\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,host.local,1.83,1.98,1.95,82.9833984375\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,host.local,1.7,1.97,1.92,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,host.local,1.74,1.97,1.92,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,host.local,1.63,1.96,1.89,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,host.local,1.91,1.98,1.94,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,host.local,1.84,1.97,1.93,82.6416015625\n\"\nt_pivot = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\", \"_measurement\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")\n\ntest _pivot = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "pivot_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "pivot_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "pivot_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "pivot_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "pivot_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "pivot_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "pivot_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "pivot_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   49,
					},
					File:   "pivot_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,double,double,double\n#group,false,false,true,true,false,true,false,false,false,false\n#default,0,,,,,,,,,\n,result,table,_start,_stop,_time,host,load1_system,load15_system,load5_system,used_percent_swap\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,host.local,1.83,1.98,1.95,82.9833984375\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,host.local,1.7,1.97,1.92,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,host.local,1.74,1.97,1.92,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,host.local,1.63,1.96,1.89,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,host.local,1.91,1.98,1.94,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,host.local,1.84,1.97,1.93,82.6416015625\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   38,
						},
						File:   "pivot_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   49,
						},
						File:   "pivot_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,double,double,double\n#group,false,false,true,true,false,true,false,false,false,false\n#default,0,,,,,,,,,\n,result,table,_start,_stop,_time,host,load1_system,load15_system,load5_system,used_percent_swap\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,host.local,1.83,1.98,1.95,82.9833984375\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,host.local,1.7,1.97,1.92,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,host.local,1.74,1.97,1.92,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,host.local,1.63,1.96,1.89,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,host.local,1.91,1.98,1.94,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,host.local,1.84,1.97,1.93,82.6416015625\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   38,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,double,double,double,double\n#group,false,false,true,true,false,true,false,false,false,false\n#default,0,,,,,,,,,\n,result,table,_start,_stop,_time,host,load1_system,load15_system,load5_system,used_percent_swap\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,host.local,1.83,1.98,1.95,82.9833984375\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,host.local,1.7,1.97,1.92,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,host.local,1.74,1.97,1.92,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,host.local,1.63,1.96,1.89,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,host.local,1.91,1.98,1.94,82.598876953125\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,host.local,1.84,1.97,1.93,82.6416015625\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   53,
					},
					File:   "pivot_test.flux",
					Source: "t_pivot = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\", \"_measurement\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
					Start: ast.Position{
						Column: 1,
						Line:   50,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   50,
						},
						File:   "pivot_test.flux",
						Source: "t_pivot",
						Start: ast.Position{
							Column: 1,
							Line:   50,
						},
					},
				},
				Name: "t_pivot",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   53,
						},
						File:   "pivot_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\", \"_measurement\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
						Start: ast.Position{
							Column: 11,
							Line:   50,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 30,
											Line:   50,
										},
										File:   "pivot_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 25,
											Line:   50,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   51,
									},
									File:   "pivot_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 25,
										Line:   50,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   51,
											},
											File:   "pivot_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   51,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   51,
												},
												File:   "pivot_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   51,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   51,
													},
													File:   "pivot_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   51,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   51,
													},
													File:   "pivot_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   51,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   51,
										},
										File:   "pivot_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   51,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   51,
											},
											File:   "pivot_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   51,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 94,
									Line:   52,
								},
								File:   "pivot_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\", \"_measurement\"], valueColumn: \"_value\")",
								Start: ast.Position{
									Column: 25,
									Line:   50,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 93,
											Line:   52,
										},
										File:   "pivot_test.flux",
										Source: "rowKey: [\"_time\"], columnKey: [\"_field\", \"_measurement\"], valueColumn: \"_value\"",
										Start: ast.Position{
											Column: 14,
											Line:   52,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   52,
											},
											File:   "pivot_test.flux",
											Source: "rowKey: [\"_time\"]",
											Start: ast.Position{
												Column: 14,
												Line:   52,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   52,
												},
												File:   "pivot_test.flux",
												Source: "rowKey",
												Start: ast.Position{
													Column: 14,
													Line:   52,
												},
											},
										},
										Name: "rowKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   52,
												},
												File:   "pivot_test.flux",
												Source: "[\"_time\"]",
												Start: ast.Position{
													Column: 22,
													Line:   52,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   52,
													},
													File:   "pivot_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 23,
														Line:   52,
													},
												},
											},
											Value: "_time",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   52,
											},
											File:   "pivot_test.flux",
											Source: "columnKey: [\"_field\", \"_measurement\"]",
											Start: ast.Position{
												Column: 33,
												Line:   52,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   52,
												},
												File:   "pivot_test.flux",
												Source: "columnKey",
												Start: ast.Position{
													Column: 33,
													Line:   52,
												},
											},
										},
										Name: "columnKey",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   52,
												},
												File:   "pivot_test.flux",
												Source: "[\"_field\", \"_measurement\"]",
												Start: ast.Position{
													Column: 44,
													Line:   52,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   52,
													},
													File:   "pivot_test.flux",
													Source: "\"_field\"",
													Start: ast.Position{
														Column: 45,
														Line:   52,
													},
												},
											},
											Value: "_field",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   52,
													},
													File:   "pivot_test.flux",
													Source: "\"_measurement\"",
													Start: ast.Position{
														Column: 55,
														Line:   52,
													},
												},
											},
											Value: "_measurement",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 93,
												Line:   52,
											},
											File:   "pivot_test.flux",
											Source: "valueColumn: \"_value\"",
											Start: ast.Position{
												Column: 72,
												Line:   52,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   52,
												},
												File:   "pivot_test.flux",
												Source: "valueColumn",
												Start: ast.Position{
													Column: 72,
													Line:   52,
												},
											},
										},
										Name: "valueColumn",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   52,
												},
												File:   "pivot_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 85,
													Line:   52,
												},
											},
										},
										Value: "_value",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 94,
										Line:   52,
									},
									File:   "pivot_test.flux",
									Source: "pivot(rowKey: [\"_time\"], columnKey: [\"_field\", \"_measurement\"], valueColumn: \"_value\")",
									Start: ast.Position{
										Column: 8,
										Line:   52,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   52,
										},
										File:   "pivot_test.flux",
										Source: "pivot",
										Start: ast.Position{
											Column: 8,
											Line:   52,
										},
									},
								},
								Name: "pivot",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   53,
							},
							File:   "pivot_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\", \"_measurement\"], valueColumn: \"_value\")\n    |> yield(name: \"0\")",
							Start: ast.Position{
								Column: 25,
								Line:   50,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   53,
									},
									File:   "pivot_test.flux",
									Source: "name: \"0\"",
									Start: ast.Position{
										Column: 14,
										Line:   53,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   53,
										},
										File:   "pivot_test.flux",
										Source: "name: \"0\"",
										Start: ast.Position{
											Column: 14,
											Line:   53,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   53,
											},
											File:   "pivot_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   53,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   53,
											},
											File:   "pivot_test.flux",
											Source: "\"0\"",
											Start: ast.Position{
												Column: 20,
												Line:   53,
											},
										},
									},
									Value: "0",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   53,
								},
								File:   "pivot_test.flux",
								Source: "yield(name: \"0\")",
								Start: ast.Position{
									Column: 8,
									Line:   53,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   53,
									},
									File:   "pivot_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   53,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   50,
							},
							File:   "pivot_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   50,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   50,
								},
								File:   "pivot_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   50,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   50,
							},
							File:   "pivot_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   50,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   55,
						},
						File:   "pivot_test.flux",
						Source: "_pivot = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
						Start: ast.Position{
							Column: 6,
							Line:   55,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   55,
							},
							File:   "pivot_test.flux",
							Source: "_pivot",
							Start: ast.Position{
								Column: 6,
								Line:   55,
							},
						},
					},
					Name: "_pivot",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   55,
							},
							File:   "pivot_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
							Start: ast.Position{
								Column: 15,
								Line:   55,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   55,
								},
								File:   "pivot_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
								Start: ast.Position{
									Column: 21,
									Line:   55,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   55,
									},
									File:   "pivot_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot}",
									Start: ast.Position{
										Column: 22,
										Line:   55,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   55,
										},
										File:   "pivot_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   55,
											},
											File:   "pivot_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   55,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   55,
												},
												File:   "pivot_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   55,
													},
													File:   "pivot_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   55,
														},
														File:   "pivot_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   55,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   55,
														},
														File:   "pivot_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   55,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   55,
											},
											File:   "pivot_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   55,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   55,
												},
												File:   "pivot_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   55,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   55,
													},
													File:   "pivot_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   55,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   55,
													},
													File:   "pivot_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   55,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   55,
										},
										File:   "pivot_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   55,
											},
											File:   "pivot_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   55,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   55,
												},
												File:   "pivot_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   55,
													},
													File:   "pivot_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   55,
														},
														File:   "pivot_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   55,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   55,
														},
														File:   "pivot_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   55,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   55,
											},
											File:   "pivot_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   55,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   55,
												},
												File:   "pivot_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   55,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   55,
													},
													File:   "pivot_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   55,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   55,
													},
													File:   "pivot_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   55,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   55,
										},
										File:   "pivot_test.flux",
										Source: "fn: t_pivot",
										Start: ast.Position{
											Column: 101,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   55,
											},
											File:   "pivot_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   55,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   55,
											},
											File:   "pivot_test.flux",
											Source: "t_pivot",
											Start: ast.Position{
												Column: 105,
												Line:   55,
											},
										},
									},
									Name: "t_pivot",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   55,
					},
					File:   "pivot_test.flux",
					Source: "test _pivot = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_pivot})",
					Start: ast.Position{
						Column: 1,
						Line:   55,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "pivot_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "pivot_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "pivot_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "pivot_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "pivot_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 130,
					Line:   31,
				},
				File:   "quantile_aggregate_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,26.162588942633263\n\"\nt_quantile = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"exact_mean\")\n\ntest _quantile_aggregate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "quantile_aggregate_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "quantile_aggregate_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "quantile_aggregate_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "quantile_aggregate_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "quantile_aggregate_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "quantile_aggregate_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,26.162588942633263\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,26.162588942633263\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,26.162588942633263\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 47,
						Line:   29,
					},
					File:   "quantile_aggregate_test.flux",
					Source: "t_quantile = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"exact_mean\")",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   27,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "t_quantile",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "t_quantile",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 47,
							Line:   29,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"exact_mean\")",
						Start: ast.Position{
							Column: 14,
							Line:   27,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   27,
									},
									File:   "quantile_aggregate_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 28,
										Line:   27,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   28,
								},
								File:   "quantile_aggregate_test.flux",
								Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)",
								Start: ast.Position{
									Column: 28,
									Line:   27,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   28,
										},
										File:   "quantile_aggregate_test.flux",
										Source: "start: 2018-01-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   28,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   28,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "start: 2018-01-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   28,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   28,
												},
												File:   "quantile_aggregate_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   28,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   28,
												},
												File:   "quantile_aggregate_test.flux",
												Source: "2018-01-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   28,
												},
											},
										},
										Value: parser.MustParseTime("2018-01-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   28,
									},
									File:   "quantile_aggregate_test.flux",
									Source: "range(start: 2018-01-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   28,
										},
										File:   "quantile_aggregate_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   28,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 47,
								Line:   29,
							},
							File:   "quantile_aggregate_test.flux",
							Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"exact_mean\")",
							Start: ast.Position{
								Column: 28,
								Line:   27,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   29,
									},
									File:   "quantile_aggregate_test.flux",
									Source: "q: 0.75, method: \"exact_mean\"",
									Start: ast.Position{
										Column: 17,
										Line:   29,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   29,
										},
										File:   "quantile_aggregate_test.flux",
										Source: "q: 0.75",
										Start: ast.Position{
											Column: 17,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   29,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "q",
											Start: ast.Position{
												Column: 17,
												Line:   29,
											},
										},
									},
									Name: "q",
								},
								Separator: nil,
								Value: &ast.FloatLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   29,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "0.75",
											Start: ast.Position{
												Column: 20,
												Line:   29,
											},
										},
									},
									Value: 0.75,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   29,
										},
										File:   "quantile_aggregate_test.flux",
										Source: "method: \"exact_mean\"",
										Start: ast.Position{
											Column: 26,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   29,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "method",
											Start: ast.Position{
												Column: 26,
												Line:   29,
											},
										},
									},
									Name: "method",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   29,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "\"exact_mean\"",
											Start: ast.Position{
												Column: 34,
												Line:   29,
											},
										},
									},
									Value: "exact_mean",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 47,
									Line:   29,
								},
								File:   "quantile_aggregate_test.flux",
								Source: "quantile(q: 0.75, method: \"exact_mean\")",
								Start: ast.Position{
									Column: 8,
									Line:   29,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 16,
										Line:   29,
									},
									File:   "quantile_aggregate_test.flux",
									Source: "quantile",
									Start: ast.Position{
										Column: 8,
										Line:   29,
									},
								},
							},
							Name: "quantile",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   27,
							},
							File:   "quantile_aggregate_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   27,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   27,
								},
								File:   "quantile_aggregate_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   27,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   27,
							},
							File:   "quantile_aggregate_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   27,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 130,
							Line:   31,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "_quantile_aggregate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
						Start: ast.Position{
							Column: 6,
							Line:   31,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   31,
							},
							File:   "quantile_aggregate_test.flux",
							Source: "_quantile_aggregate",
							Start: ast.Position{
								Column: 6,
								Line:   31,
							},
						},
					},
					Name: "_quantile_aggregate",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 130,
								Line:   31,
							},
							File:   "quantile_aggregate_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
							Start: ast.Position{
								Column: 28,
								Line:   31,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 130,
									Line:   31,
								},
								File:   "quantile_aggregate_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
								Start: ast.Position{
									Column: 34,
									Line:   31,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 129,
										Line:   31,
									},
									File:   "quantile_aggregate_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile}",
									Start: ast.Position{
										Column: 35,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   31,
										},
										File:   "quantile_aggregate_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 36,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   31,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 36,
												Line:   31,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   31,
												},
												File:   "quantile_aggregate_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 63,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   31,
													},
													File:   "quantile_aggregate_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 63,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   31,
														},
														File:   "quantile_aggregate_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 63,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   31,
														},
														File:   "quantile_aggregate_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 68,
															Line:   31,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   31,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 43,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   31,
												},
												File:   "quantile_aggregate_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 43,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   31,
													},
													File:   "quantile_aggregate_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 43,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   31,
													},
													File:   "quantile_aggregate_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 51,
														Line:   31,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   31,
										},
										File:   "quantile_aggregate_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 77,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   31,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 77,
												Line:   31,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   31,
												},
												File:   "quantile_aggregate_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 99,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   31,
													},
													File:   "quantile_aggregate_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 99,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   31,
														},
														File:   "quantile_aggregate_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 99,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   31,
														},
														File:   "quantile_aggregate_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 104,
															Line:   31,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   31,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 83,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   31,
												},
												File:   "quantile_aggregate_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 83,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   31,
													},
													File:   "quantile_aggregate_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 83,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   31,
													},
													File:   "quantile_aggregate_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 91,
														Line:   31,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 128,
											Line:   31,
										},
										File:   "quantile_aggregate_test.flux",
										Source: "fn: t_quantile",
										Start: ast.Position{
											Column: 114,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   31,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 128,
												Line:   31,
											},
											File:   "quantile_aggregate_test.flux",
											Source: "t_quantile",
											Start: ast.Position{
												Column: 118,
												Line:   31,
											},
										},
									},
									Name: "t_quantile",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 130,
						Line:   31,
					},
					File:   "quantile_aggregate_test.flux",
					Source: "test _quantile_aggregate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "quantile_aggregate_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "quantile_aggregate_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "quantile_aggregate_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "quantile_aggregate_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 128,
					Line:   31,
				},
				File:   "quantile_defaults_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,29.50336437998469\n\"\nt_quantile = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75)\n\ntest _quantile_tdigest = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "quantile_defaults_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "quantile_defaults_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "quantile_defaults_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "quantile_defaults_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "quantile_defaults_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "quantile_defaults_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "quantile_defaults_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "quantile_defaults_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "quantile_defaults_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "quantile_defaults_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "quantile_defaults_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 25,
						Line:   29,
					},
					File:   "quantile_defaults_test.flux",
					Source: "t_quantile = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75)",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   27,
						},
						File:   "quantile_defaults_test.flux",
						Source: "t_quantile",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "t_quantile",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   29,
						},
						File:   "quantile_defaults_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75)",
						Start: ast.Position{
							Column: 14,
							Line:   27,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   27,
									},
									File:   "quantile_defaults_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 28,
										Line:   27,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   28,
								},
								File:   "quantile_defaults_test.flux",
								Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)",
								Start: ast.Position{
									Column: 28,
									Line:   27,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   28,
										},
										File:   "quantile_defaults_test.flux",
										Source: "start: 2018-01-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   28,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   28,
											},
											File:   "quantile_defaults_test.flux",
											Source: "start: 2018-01-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   28,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   28,
												},
												File:   "quantile_defaults_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   28,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   28,
												},
												File:   "quantile_defaults_test.flux",
												Source: "2018-01-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   28,
												},
											},
										},
										Value: parser.MustParseTime("2018-01-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   28,
									},
									File:   "quantile_defaults_test.flux",
									Source: "range(start: 2018-01-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   28,
										},
										File:   "quantile_defaults_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   28,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   29,
							},
							File:   "quantile_defaults_test.flux",
							Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75)",
							Start: ast.Position{
								Column: 28,
								Line:   27,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   29,
									},
									File:   "quantile_defaults_test.flux",
									Source: "q: 0.75",
									Start: ast.Position{
										Column: 17,
										Line:   29,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   29,
										},
										File:   "quantile_defaults_test.flux",
										Source: "q: 0.75",
										Start: ast.Position{
											Column: 17,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   29,
											},
											File:   "quantile_defaults_test.flux",
											Source: "q",
											Start: ast.Position{
												Column: 17,
												Line:   29,
											},
										},
									},
									Name: "q",
								},
								Separator: nil,
								Value: &ast.FloatLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   29,
											},
											File:   "quantile_defaults_test.flux",
											Source: "0.75",
											Start: ast.Position{
												Column: 20,
												Line:   29,
											},
										},
									},
									Value: 0.75,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   29,
								},
								File:   "quantile_defaults_test.flux",
								Source: "quantile(q: 0.75)",
								Start: ast.Position{
									Column: 8,
									Line:   29,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 16,
										Line:   29,
									},
									File:   "quantile_defaults_test.flux",
									Source: "quantile",
									Start: ast.Position{
										Column: 8,
										Line:   29,
									},
								},
							},
							Name: "quantile",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   27,
							},
							File:   "quantile_defaults_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   27,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   27,
								},
								File:   "quantile_defaults_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   27,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   27,
							},
							File:   "quantile_defaults_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   27,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 128,
							Line:   31,
						},
						File:   "quantile_defaults_test.flux",
						Source: "_quantile_tdigest = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
						Start: ast.Position{
							Column: 6,
							Line:   31,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   31,
							},
							File:   "quantile_defaults_test.flux",
							Source: "_quantile_tdigest",
							Start: ast.Position{
								Column: 6,
								Line:   31,
							},
						},
					},
					Name: "_quantile_tdigest",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 128,
								Line:   31,
							},
							File:   "quantile_defaults_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
							Start: ast.Position{
								Column: 26,
								Line:   31,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 128,
									Line:   31,
								},
								File:   "quantile_defaults_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
								Start: ast.Position{
									Column: 32,
									Line:   31,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 127,
										Line:   31,
									},
									File:   "quantile_defaults_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile}",
									Start: ast.Position{
										Column: 33,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 73,
											Line:   31,
										},
										File:   "quantile_defaults_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 34,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 39,
												Line:   31,
											},
											File:   "quantile_defaults_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 34,
												Line:   31,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   31,
												},
												File:   "quantile_defaults_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 61,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 72,
														Line:   31,
													},
													File:   "quantile_defaults_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 61,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   31,
														},
														File:   "quantile_defaults_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 61,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   31,
														},
														File:   "quantile_defaults_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 66,
															Line:   31,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   31,
											},
											File:   "quantile_defaults_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 41,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   31,
												},
												File:   "quantile_defaults_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 41,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   31,
													},
													File:   "quantile_defaults_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 41,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   31,
													},
													File:   "quantile_defaults_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 49,
														Line:   31,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   31,
										},
										File:   "quantile_defaults_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 75,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   31,
											},
											File:   "quantile_defaults_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 75,
												Line:   31,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 109,
													Line:   31,
												},
												File:   "quantile_defaults_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 97,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 109,
														Line:   31,
													},
													File:   "quantile_defaults_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 97,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   31,
														},
														File:   "quantile_defaults_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 97,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 109,
															Line:   31,
														},
														File:   "quantile_defaults_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 102,
															Line:   31,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   31,
											},
											File:   "quantile_defaults_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 81,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   31,
												},
												File:   "quantile_defaults_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 81,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   31,
													},
													File:   "quantile_defaults_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 81,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   31,
													},
													File:   "quantile_defaults_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 89,
														Line:   31,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 126,
											Line:   31,
										},
										File:   "quantile_defaults_test.flux",
										Source: "fn: t_quantile",
										Start: ast.Position{
											Column: 112,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   31,
											},
											File:   "quantile_defaults_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 112,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 126,
												Line:   31,
											},
											File:   "quantile_defaults_test.flux",
											Source: "t_quantile",
											Start: ast.Position{
												Column: 116,
												Line:   31,
											},
										},
									},
									Name: "t_quantile",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 128,
						Line:   31,
					},
					File:   "quantile_defaults_test.flux",
					Source: "test _quantile_tdigest = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "quantile_defaults_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "quantile_defaults_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "quantile_defaults_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "quantile_defaults_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "quantile_defaults_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 128,
					Line:   31,
				},
				File:   "quantile_tdigest_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,29.50336437998469\n\"\nt_quantile = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"estimate_tdigest\")\n\ntest _quantile_tdigest = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "quantile_tdigest_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "quantile_tdigest_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "quantile_tdigest_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "quantile_tdigest_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "quantile_tdigest_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,SOYcRk,NC7N,2018-12-18T21:12:45Z,-61.68790887989735\n,,0,SOYcRk,NC7N,2018-12-18T21:12:55Z,-6.3173755351186465\n,,0,SOYcRk,NC7N,2018-12-18T21:13:05Z,-26.049728557657513\n,,0,SOYcRk,NC7N,2018-12-18T21:13:15Z,114.285955884979\n,,0,SOYcRk,NC7N,2018-12-18T21:13:25Z,16.140262630578995\n,,0,SOYcRk,NC7N,2018-12-18T21:13:35Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   26,
					},
					File:   "quantile_tdigest_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   26,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,SOYcRk,NC7N,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 53,
						Line:   29,
					},
					File:   "quantile_tdigest_test.flux",
					Source: "t_quantile = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"estimate_tdigest\")",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   27,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "t_quantile",
						Start: ast.Position{
							Column: 1,
							Line:   27,
						},
					},
				},
				Name: "t_quantile",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 53,
							Line:   29,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"estimate_tdigest\")",
						Start: ast.Position{
							Column: 14,
							Line:   27,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   27,
									},
									File:   "quantile_tdigest_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 28,
										Line:   27,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   28,
								},
								File:   "quantile_tdigest_test.flux",
								Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)",
								Start: ast.Position{
									Column: 28,
									Line:   27,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   28,
										},
										File:   "quantile_tdigest_test.flux",
										Source: "start: 2018-01-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   28,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   28,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "start: 2018-01-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   28,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   28,
												},
												File:   "quantile_tdigest_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   28,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   28,
												},
												File:   "quantile_tdigest_test.flux",
												Source: "2018-01-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   28,
												},
											},
										},
										Value: parser.MustParseTime("2018-01-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   28,
									},
									File:   "quantile_tdigest_test.flux",
									Source: "range(start: 2018-01-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   28,
										},
										File:   "quantile_tdigest_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   28,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 53,
								Line:   29,
							},
							File:   "quantile_tdigest_test.flux",
							Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"estimate_tdigest\")",
							Start: ast.Position{
								Column: 28,
								Line:   27,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 52,
										Line:   29,
									},
									File:   "quantile_tdigest_test.flux",
									Source: "q: 0.75, method: \"estimate_tdigest\"",
									Start: ast.Position{
										Column: 17,
										Line:   29,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   29,
										},
										File:   "quantile_tdigest_test.flux",
										Source: "q: 0.75",
										Start: ast.Position{
											Column: 17,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   29,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "q",
											Start: ast.Position{
												Column: 17,
												Line:   29,
											},
										},
									},
									Name: "q",
								},
								Separator: nil,
								Value: &ast.FloatLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   29,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "0.75",
											Start: ast.Position{
												Column: 20,
												Line:   29,
											},
										},
									},
									Value: 0.75,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 52,
											Line:   29,
										},
										File:   "quantile_tdigest_test.flux",
										Source: "method: \"estimate_tdigest\"",
										Start: ast.Position{
											Column: 26,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   29,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "method",
											Start: ast.Position{
												Column: 26,
												Line:   29,
											},
										},
									},
									Name: "method",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   29,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "\"estimate_tdigest\"",
											Start: ast.Position{
												Column: 34,
												Line:   29,
											},
										},
									},
									Value: "estimate_tdigest",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 53,
									Line:   29,
								},
								File:   "quantile_tdigest_test.flux",
								Source: "quantile(q: 0.75, method: \"estimate_tdigest\")",
								Start: ast.Position{
									Column: 8,
									Line:   29,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 16,
										Line:   29,
									},
									File:   "quantile_tdigest_test.flux",
									Source: "quantile",
									Start: ast.Position{
										Column: 8,
										Line:   29,
									},
								},
							},
							Name: "quantile",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   27,
							},
							File:   "quantile_tdigest_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   27,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   27,
								},
								File:   "quantile_tdigest_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   27,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   27,
							},
							File:   "quantile_tdigest_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   27,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 128,
							Line:   31,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "_quantile_tdigest = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
						Start: ast.Position{
							Column: 6,
							Line:   31,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   31,
							},
							File:   "quantile_tdigest_test.flux",
							Source: "_quantile_tdigest",
							Start: ast.Position{
								Column: 6,
								Line:   31,
							},
						},
					},
					Name: "_quantile_tdigest",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 128,
								Line:   31,
							},
							File:   "quantile_tdigest_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
							Start: ast.Position{
								Column: 26,
								Line:   31,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 128,
									Line:   31,
								},
								File:   "quantile_tdigest_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
								Start: ast.Position{
									Column: 32,
									Line:   31,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 127,
										Line:   31,
									},
									File:   "quantile_tdigest_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile}",
									Start: ast.Position{
										Column: 33,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 73,
											Line:   31,
										},
										File:   "quantile_tdigest_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 34,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 39,
												Line:   31,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 34,
												Line:   31,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   31,
												},
												File:   "quantile_tdigest_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 61,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 72,
														Line:   31,
													},
													File:   "quantile_tdigest_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 61,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   31,
														},
														File:   "quantile_tdigest_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 61,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   31,
														},
														File:   "quantile_tdigest_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 66,
															Line:   31,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   31,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 41,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   31,
												},
												File:   "quantile_tdigest_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 41,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   31,
													},
													File:   "quantile_tdigest_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 41,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   31,
													},
													File:   "quantile_tdigest_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 49,
														Line:   31,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   31,
										},
										File:   "quantile_tdigest_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 75,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   31,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 75,
												Line:   31,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 109,
													Line:   31,
												},
												File:   "quantile_tdigest_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 97,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 109,
														Line:   31,
													},
													File:   "quantile_tdigest_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 97,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   31,
														},
														File:   "quantile_tdigest_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 97,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 109,
															Line:   31,
														},
														File:   "quantile_tdigest_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 102,
															Line:   31,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   31,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 81,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   31,
												},
												File:   "quantile_tdigest_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 81,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   31,
													},
													File:   "quantile_tdigest_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 81,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   31,
													},
													File:   "quantile_tdigest_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 89,
														Line:   31,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 126,
											Line:   31,
										},
										File:   "quantile_tdigest_test.flux",
										Source: "fn: t_quantile",
										Start: ast.Position{
											Column: 112,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   31,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 112,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 126,
												Line:   31,
											},
											File:   "quantile_tdigest_test.flux",
											Source: "t_quantile",
											Start: ast.Position{
												Column: 116,
												Line:   31,
											},
										},
									},
									Name: "t_quantile",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 128,
						Line:   31,
					},
					File:   "quantile_tdigest_test.flux",
					Source: "test _quantile_tdigest = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "quantile_tdigest_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "quantile_tdigest_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "quantile_tdigest_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "quantile_tdigest_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 120,
					Line:   130,
				},
				File:   "quantile_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,LgT6,BnR,2019-01-09T19:44:58Z,k5Uym\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:08Z,csheb\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:18Z,xUPF\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:28Z,fJTWEh\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:38Z,oF7g\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:48Z,NvfS\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:44:58Z,eWoKiN\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:08Z,oE4S\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:18Z,mRC\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:28Z,SNwh8\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:38Z,pwH\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:48Z,jmJqsA\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:44:58Z,17\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:08Z,-44\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:18Z,-99\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:28Z,-85\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:38Z,18\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:48Z,99\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:44:58Z,-44\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:08Z,-25\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:18Z,46\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:28Z,-2\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:38Z,-14\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:48Z,-53\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,Reiva,rREO,BnR,2019-01-09T19:44:58Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:08Z,true\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:18Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:28Z,true\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:38Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:48Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:44:58Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:08Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:18Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:28Z,false\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:38Z,false\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:48Z,false\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:44:58Z,79\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:08Z,33\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:18Z,97\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:28Z,90\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:38Z,96\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:48Z,10\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:44:58Z,84\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:08Z,52\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:18Z,23\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:28Z,62\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:38Z,22\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:48Z,78\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,LgT6,BnR,2019-01-09T19:45:38Z,oF7g\n,,1,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,LgT6,qCnJDC,2019-01-09T19:45:08Z,oE4S\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,2,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,3,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,4,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,dGpnr,BnR,2019-01-09T19:45:38Z,18\n,,5,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:28Z,-2\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,6,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rREO,BnR,2019-01-09T19:45:28Z,true\n,,7,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rREO,qCnJDC,2019-01-09T19:45:08Z,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,8,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rc2iOD1,BnR,2019-01-09T19:45:38Z,96\n,,9,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:48Z,78\n\"\nt_quantile = (table=<-) => table\n    |> range(start: 2019-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"exact_selector\")\n\ntest _quantile = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "quantile_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "quantile_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "quantile_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "quantile_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "quantile_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   93,
					},
					File:   "quantile_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,LgT6,BnR,2019-01-09T19:44:58Z,k5Uym\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:08Z,csheb\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:18Z,xUPF\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:28Z,fJTWEh\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:38Z,oF7g\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:48Z,NvfS\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:44:58Z,eWoKiN\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:08Z,oE4S\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:18Z,mRC\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:28Z,SNwh8\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:38Z,pwH\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:48Z,jmJqsA\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:44:58Z,17\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:08Z,-44\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:18Z,-99\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:28Z,-85\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:38Z,18\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:48Z,99\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:44:58Z,-44\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:08Z,-25\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:18Z,46\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:28Z,-2\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:38Z,-14\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:48Z,-53\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,Reiva,rREO,BnR,2019-01-09T19:44:58Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:08Z,true\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:18Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:28Z,true\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:38Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:48Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:44:58Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:08Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:18Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:28Z,false\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:38Z,false\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:48Z,false\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:44:58Z,79\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:08Z,33\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:18Z,97\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:28Z,90\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:38Z,96\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:48Z,10\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:44:58Z,84\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:08Z,52\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:18Z,23\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:28Z,62\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:38Z,22\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:48Z,78\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "quantile_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   93,
						},
						File:   "quantile_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,LgT6,BnR,2019-01-09T19:44:58Z,k5Uym\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:08Z,csheb\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:18Z,xUPF\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:28Z,fJTWEh\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:38Z,oF7g\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:48Z,NvfS\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:44:58Z,eWoKiN\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:08Z,oE4S\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:18Z,mRC\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:28Z,SNwh8\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:38Z,pwH\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:48Z,jmJqsA\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:44:58Z,17\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:08Z,-44\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:18Z,-99\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:28Z,-85\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:38Z,18\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:48Z,99\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:44:58Z,-44\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:08Z,-25\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:18Z,46\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:28Z,-2\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:38Z,-14\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:48Z,-53\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,Reiva,rREO,BnR,2019-01-09T19:44:58Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:08Z,true\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:18Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:28Z,true\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:38Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:48Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:44:58Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:08Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:18Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:28Z,false\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:38Z,false\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:48Z,false\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:44:58Z,79\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:08Z,33\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:18Z,97\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:28Z,90\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:38Z,96\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:48Z,10\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:44:58Z,84\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:08Z,52\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:18Z,23\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:28Z,62\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:38Z,22\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:48Z,78\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,Reiva,LgT6,BnR,2019-01-09T19:44:58Z,k5Uym\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:08Z,csheb\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:18Z,xUPF\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:28Z,fJTWEh\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:38Z,oF7g\n,,0,Reiva,LgT6,BnR,2019-01-09T19:45:48Z,NvfS\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:44:58Z,eWoKiN\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:08Z,oE4S\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:18Z,mRC\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:28Z,SNwh8\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:38Z,pwH\n,,1,Reiva,LgT6,qCnJDC,2019-01-09T19:45:48Z,jmJqsA\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:44:58Z,7.940387008821781\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:18Z,-36.564150808873954\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:28Z,34.319039251798635\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:38Z,79.27019811403116\n,,2,Reiva,OAOJWe7,BnR,2019-01-09T19:45:48Z,41.91029522104053\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:44:58Z,-61.68790887989735\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:08Z,-6.3173755351186465\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:18Z,-26.049728557657513\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:28Z,114.285955884979\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:38Z,16.140262630578995\n,,3,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:44:58Z,17\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:08Z,-44\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:18Z,-99\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:28Z,-85\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:38Z,18\n,,4,Reiva,dGpnr,BnR,2019-01-09T19:45:48Z,99\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:44:58Z,-44\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:08Z,-25\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:18Z,46\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:28Z,-2\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:38Z,-14\n,,5,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:48Z,-53\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,Reiva,rREO,BnR,2019-01-09T19:44:58Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:08Z,true\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:18Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:28Z,true\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:38Z,false\n,,6,Reiva,rREO,BnR,2019-01-09T19:45:48Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:44:58Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:08Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:18Z,true\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:28Z,false\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:38Z,false\n,,7,Reiva,rREO,qCnJDC,2019-01-09T19:45:48Z,false\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:44:58Z,79\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:08Z,33\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:18Z,97\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:28Z,90\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:38Z,96\n,,8,Reiva,rc2iOD1,BnR,2019-01-09T19:45:48Z,10\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:44:58Z,84\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:08Z,52\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:18Z,23\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:28Z,62\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:38Z,22\n,,9,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:48Z,78\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   125,
					},
					File:   "quantile_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,LgT6,BnR,2019-01-09T19:45:38Z,oF7g\n,,1,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,LgT6,qCnJDC,2019-01-09T19:45:08Z,oE4S\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,2,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,3,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,4,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,dGpnr,BnR,2019-01-09T19:45:38Z,18\n,,5,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:28Z,-2\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,6,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rREO,BnR,2019-01-09T19:45:28Z,true\n,,7,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rREO,qCnJDC,2019-01-09T19:45:08Z,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,8,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rc2iOD1,BnR,2019-01-09T19:45:38Z,96\n,,9,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:48Z,78\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   94,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   94,
						},
						File:   "quantile_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   94,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   125,
						},
						File:   "quantile_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,LgT6,BnR,2019-01-09T19:45:38Z,oF7g\n,,1,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,LgT6,qCnJDC,2019-01-09T19:45:08Z,oE4S\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,2,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,3,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,4,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,dGpnr,BnR,2019-01-09T19:45:38Z,18\n,,5,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:28Z,-2\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,6,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rREO,BnR,2019-01-09T19:45:28Z,true\n,,7,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rREO,qCnJDC,2019-01-09T19:45:08Z,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,8,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rc2iOD1,BnR,2019-01-09T19:45:38Z,96\n,,9,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:48Z,78\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   94,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,LgT6,BnR,2019-01-09T19:45:38Z,oF7g\n,,1,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,LgT6,qCnJDC,2019-01-09T19:45:08Z,oE4S\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,2,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,BnR,2019-01-09T19:45:08Z,49.460104214779086\n,,3,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,OAOJWe7,qCnJDC,2019-01-09T19:45:48Z,29.50336437998469\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,4,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,dGpnr,BnR,2019-01-09T19:45:38Z,18\n,,5,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,dGpnr,qCnJDC,2019-01-09T19:45:28Z,-2\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,6,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rREO,BnR,2019-01-09T19:45:28Z,true\n,,7,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rREO,qCnJDC,2019-01-09T19:45:08Z,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,8,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rc2iOD1,BnR,2019-01-09T19:45:38Z,96\n,,9,2019-01-01T00:00:00Z,2030-01-01T00:00:00Z,Reiva,rc2iOD1,qCnJDC,2019-01-09T19:45:48Z,78\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 51,
						Line:   128,
					},
					File:   "quantile_test.flux",
					Source: "t_quantile = (table=<-) => table\n    |> range(start: 2019-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"exact_selector\")",
					Start: ast.Position{
						Column: 1,
						Line:   126,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   126,
						},
						File:   "quantile_test.flux",
						Source: "t_quantile",
						Start: ast.Position{
							Column: 1,
							Line:   126,
						},
					},
				},
				Name: "t_quantile",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 51,
							Line:   128,
						},
						File:   "quantile_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2019-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"exact_selector\")",
						Start: ast.Position{
							Column: 14,
							Line:   126,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   126,
									},
									File:   "quantile_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 28,
										Line:   126,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   127,
								},
								File:   "quantile_test.flux",
								Source: "table\n    |> range(start: 2019-01-01T00:00:00Z)",
								Start: ast.Position{
									Column: 28,
									Line:   126,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   127,
										},
										File:   "quantile_test.flux",
										Source: "start: 2019-01-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   127,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   127,
											},
											File:   "quantile_test.flux",
											Source: "start: 2019-01-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   127,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   127,
												},
												File:   "quantile_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   127,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   127,
												},
												File:   "quantile_test.flux",
												Source: "2019-01-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   127,
												},
											},
										},
										Value: parser.MustParseTime("2019-01-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   127,
									},
									File:   "quantile_test.flux",
									Source: "range(start: 2019-01-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   127,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   127,
										},
										File:   "quantile_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   127,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 51,
								Line:   128,
							},
							File:   "quantile_test.flux",
							Source: "table\n    |> range(start: 2019-01-01T00:00:00Z)\n    |> quantile(q: 0.75, method: \"exact_selector\")",
							Start: ast.Position{
								Column: 28,
								Line:   126,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 50,
										Line:   128,
									},
									File:   "quantile_test.flux",
									Source: "q: 0.75, method: \"exact_selector\"",
									Start: ast.Position{
										Column: 17,
										Line:   128,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   128,
										},
										File:   "quantile_test.flux",
										Source: "q: 0.75",
										Start: ast.Position{
											Column: 17,
											Line:   128,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   128,
											},
											File:   "quantile_test.flux",
											Source: "q",
											Start: ast.Position{
												Column: 17,
												Line:   128,
											},
										},
									},
									Name: "q",
								},
								Separator: nil,
								Value: &ast.FloatLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   128,
											},
											File:   "quantile_test.flux",
											Source: "0.75",
											Start: ast.Position{
												Column: 20,
												Line:   128,
											},
										},
									},
									Value: 0.75,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   128,
										},
										File:   "quantile_test.flux",
										Source: "method: \"exact_selector\"",
										Start: ast.Position{
											Column: 26,
											Line:   128,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   128,
											},
											File:   "quantile_test.flux",
											Source: "method",
											Start: ast.Position{
												Column: 26,
												Line:   128,
											},
										},
									},
									Name: "method",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   128,
											},
											File:   "quantile_test.flux",
											Source: "\"exact_selector\"",
											Start: ast.Position{
												Column: 34,
												Line:   128,
											},
										},
									},
									Value: "exact_selector",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 51,
									Line:   128,
								},
								File:   "quantile_test.flux",
								Source: "quantile(q: 0.75, method: \"exact_selector\")",
								Start: ast.Position{
									Column: 8,
									Line:   128,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 16,
										Line:   128,
									},
									File:   "quantile_test.flux",
									Source: "quantile",
									Start: ast.Position{
										Column: 8,
										Line:   128,
									},
								},
							},
							Name: "quantile",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   126,
							},
							File:   "quantile_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   126,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   126,
								},
								File:   "quantile_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   126,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   126,
							},
							File:   "quantile_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   126,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 120,
							Line:   130,
						},
						File:   "quantile_test.flux",
						Source: "_quantile = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
						Start: ast.Position{
							Column: 6,
							Line:   130,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   130,
							},
							File:   "quantile_test.flux",
							Source: "_quantile",
							Start: ast.Position{
								Column: 6,
								Line:   130,
							},
						},
					},
					Name: "_quantile",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 120,
								Line:   130,
							},
							File:   "quantile_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
							Start: ast.Position{
								Column: 18,
								Line:   130,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 120,
									Line:   130,
								},
								File:   "quantile_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
								Start: ast.Position{
									Column: 24,
									Line:   130,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 119,
										Line:   130,
									},
									File:   "quantile_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile}",
									Start: ast.Position{
										Column: 25,
										Line:   130,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 65,
											Line:   130,
										},
										File:   "quantile_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 26,
											Line:   130,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   130,
											},
											File:   "quantile_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 26,
												Line:   130,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   130,
												},
												File:   "quantile_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 53,
													Line:   130,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 64,
														Line:   130,
													},
													File:   "quantile_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 53,
														Line:   130,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 56,
															Line:   130,
														},
														File:   "quantile_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 53,
															Line:   130,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 64,
															Line:   130,
														},
														File:   "quantile_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 58,
															Line:   130,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 65,
												Line:   130,
											},
											File:   "quantile_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 33,
												Line:   130,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 52,
													Line:   130,
												},
												File:   "quantile_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 33,
													Line:   130,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   130,
													},
													File:   "quantile_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 33,
														Line:   130,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   130,
													},
													File:   "quantile_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 41,
														Line:   130,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 102,
											Line:   130,
										},
										File:   "quantile_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 67,
											Line:   130,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   130,
											},
											File:   "quantile_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 67,
												Line:   130,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 101,
													Line:   130,
												},
												File:   "quantile_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 89,
													Line:   130,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 101,
														Line:   130,
													},
													File:   "quantile_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 89,
														Line:   130,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 92,
															Line:   130,
														},
														File:   "quantile_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 89,
															Line:   130,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   130,
														},
														File:   "quantile_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 94,
															Line:   130,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   130,
											},
											File:   "quantile_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 73,
												Line:   130,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 88,
													Line:   130,
												},
												File:   "quantile_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 73,
													Line:   130,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   130,
													},
													File:   "quantile_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 73,
														Line:   130,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 88,
														Line:   130,
													},
													File:   "quantile_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 81,
														Line:   130,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 118,
											Line:   130,
										},
										File:   "quantile_test.flux",
										Source: "fn: t_quantile",
										Start: ast.Position{
											Column: 104,
											Line:   130,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   130,
											},
											File:   "quantile_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 104,
												Line:   130,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   130,
											},
											File:   "quantile_test.flux",
											Source: "t_quantile",
											Start: ast.Position{
												Column: 108,
												Line:   130,
											},
										},
									},
									Name: "t_quantile",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 120,
						Line:   130,
					},
					File:   "quantile_test.flux",
					Source: "test _quantile = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_quantile})",
					Start: ast.Position{
						Column: 1,
						Line:   130,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "quantile_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "quantile_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "quantile_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "quantile_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "quantile_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   43,
				},
				File:   "range_stop_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:50:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"\nt_range = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:36Z, stop: 2018-05-22T19:54:16Z)\n\ntest _range = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "range_stop_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "range_stop_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "range_stop_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "range_stop_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "range_stop_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "range_stop_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:50:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "range_stop_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "range_stop_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:50:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:50:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   39,
					},
					File:   "range_stop_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "range_stop_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   39,
						},
						File:   "range_stop_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2018-05-22T19:54:16Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 70,
						Line:   41,
					},
					File:   "range_stop_test.flux",
					Source: "t_range = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:36Z, stop: 2018-05-22T19:54:16Z)",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   40,
						},
						File:   "range_stop_test.flux",
						Source: "t_range",
						Start: ast.Position{
							Column: 1,
							Line:   40,
						},
					},
				},
				Name: "t_range",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 70,
							Line:   41,
						},
						File:   "range_stop_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:36Z, stop: 2018-05-22T19:54:16Z)",
						Start: ast.Position{
							Column: 11,
							Line:   40,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   40,
								},
								File:   "range_stop_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 25,
									Line:   40,
								},
							},
						},
						Name: "table",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 70,
								Line:   41,
							},
							File:   "range_stop_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:36Z, stop: 2018-05-22T19:54:16Z)",
							Start: ast.Position{
								Column: 25,
								Line:   40,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 69,
										Line:   41,
									},
									File:   "range_stop_test.flux",
									Source: "start: 2018-05-22T19:53:36Z, stop: 2018-05-22T19:54:16Z",
									Start: ast.Position{
										Column: 14,
										Line:   41,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   41,
										},
										File:   "range_stop_test.flux",
										Source: "start: 2018-05-22T19:53:36Z",
										Start: ast.Position{
											Column: 14,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   41,
											},
											File:   "range_stop_test.flux",
											Source: "start",
											Start: ast.Position{
												Column: 14,
												Line:   41,
											},
										},
									},
									Name: "start",
								},
								Separator: nil,
								Value: &ast.DateTimeLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   41,
											},
											File:   "range_stop_test.flux",
											Source: "2018-05-22T19:53:36Z",
											Start: ast.Position{
												Column: 21,
												Line:   41,
											},
										},
									},
									Value: parser.MustParseTime("2018-05-22T19:53:36Z"),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   41,
										},
										File:   "range_stop_test.flux",
										Source: "stop: 2018-05-22T19:54:16Z",
										Start: ast.Position{
											Column: 43,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   41,
											},
											File:   "range_stop_test.flux",
											Source: "stop",
											Start: ast.Position{
												Column: 43,
												Line:   41,
											},
										},
									},
									Name: "stop",
								},
								Separator: nil,
								Value: &ast.DateTimeLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   41,
											},
											File:   "range_stop_test.flux",
											Source: "2018-05-22T19:54:16Z",
											Start: ast.Position{
												Column: 49,
												Line:   41,
											},
										},
									},
									Value: parser.MustParseTime("2018-05-22T19:54:16Z"),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   41,
								},
								File:   "range_stop_test.flux",
								Source: "range(start: 2018-05-22T19:53:36Z, stop: 2018-05-22T19:54:16Z)",
								Start: ast.Position{
									Column: 8,
									Line:   41,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   41,
									},
									File:   "range_stop_test.flux",
									Source: "range",
									Start: ast.Position{
										Column: 8,
										Line:   41,
									},
								},
							},
							Name: "range",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   40,
							},
							File:   "range_stop_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   40,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   40,
								},
								File:   "range_stop_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   40,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   40,
							},
							File:   "range_stop_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   40,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   43,
						},
						File:   "range_stop_test.flux",
						Source: "_range = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
						Start: ast.Position{
							Column: 6,
							Line:   43,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   43,
							},
							File:   "range_stop_test.flux",
							Source: "_range",
							Start: ast.Position{
								Column: 6,
								Line:   43,
							},
						},
					},
					Name: "_range",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   43,
							},
							File:   "range_stop_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
							Start: ast.Position{
								Column: 15,
								Line:   43,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   43,
								},
								File:   "range_stop_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
								Start: ast.Position{
									Column: 21,
									Line:   43,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   43,
									},
									File:   "range_stop_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range}",
									Start: ast.Position{
										Column: 22,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   43,
										},
										File:   "range_stop_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   43,
											},
											File:   "range_stop_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   43,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   43,
												},
												File:   "range_stop_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   43,
													},
													File:   "range_stop_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   43,
														},
														File:   "range_stop_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   43,
														},
														File:   "range_stop_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   43,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   43,
											},
											File:   "range_stop_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   43,
												},
												File:   "range_stop_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   43,
													},
													File:   "range_stop_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   43,
													},
													File:   "range_stop_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   43,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   43,
										},
										File:   "range_stop_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   43,
											},
											File:   "range_stop_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   43,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   43,
												},
												File:   "range_stop_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   43,
													},
													File:   "range_stop_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   43,
														},
														File:   "range_stop_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   43,
														},
														File:   "range_stop_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   43,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   43,
											},
											File:   "range_stop_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   43,
												},
												File:   "range_stop_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   43,
													},
													File:   "range_stop_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   43,
													},
													File:   "range_stop_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   43,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   43,
										},
										File:   "range_stop_test.flux",
										Source: "fn: t_range",
										Start: ast.Position{
											Column: 101,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   43,
											},
											File:   "range_stop_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   43,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   43,
											},
											File:   "range_stop_test.flux",
											Source: "t_range",
											Start: ast.Position{
												Column: 105,
												Line:   43,
											},
										},
									},
									Name: "t_range",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   43,
					},
					File:   "range_stop_test.flux",
					Source: "test _range = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "range_stop_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "range_stop_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "range_stop_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "range_stop_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "range_stop_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   45,
				},
				File:   "range_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:50:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"\nt_range = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:36Z)\n\ntest _range = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "range_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "range_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "range_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "range_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "range_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "range_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:50:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "range_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "range_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:50:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:50:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "range_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "range_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "range_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   43,
					},
					File:   "range_test.flux",
					Source: "t_range = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:36Z)",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   42,
						},
						File:   "range_test.flux",
						Source: "t_range",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "t_range",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   43,
						},
						File:   "range_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:36Z)",
						Start: ast.Position{
							Column: 11,
							Line:   42,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   42,
								},
								File:   "range_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 25,
									Line:   42,
								},
							},
						},
						Name: "table",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   43,
							},
							File:   "range_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:36Z)",
							Start: ast.Position{
								Column: 25,
								Line:   42,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   43,
									},
									File:   "range_test.flux",
									Source: "start: 2018-05-22T19:53:36Z",
									Start: ast.Position{
										Column: 14,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   43,
										},
										File:   "range_test.flux",
										Source: "start: 2018-05-22T19:53:36Z",
										Start: ast.Position{
											Column: 14,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   43,
											},
											File:   "range_test.flux",
											Source: "start",
											Start: ast.Position{
												Column: 14,
												Line:   43,
											},
										},
									},
									Name: "start",
								},
								Separator: nil,
								Value: &ast.DateTimeLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   43,
											},
											File:   "range_test.flux",
											Source: "2018-05-22T19:53:36Z",
											Start: ast.Position{
												Column: 21,
												Line:   43,
											},
										},
									},
									Value: parser.MustParseTime("2018-05-22T19:53:36Z"),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   43,
								},
								File:   "range_test.flux",
								Source: "range(start: 2018-05-22T19:53:36Z)",
								Start: ast.Position{
									Column: 8,
									Line:   43,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   43,
									},
									File:   "range_test.flux",
									Source: "range",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Name: "range",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   42,
							},
							File:   "range_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   42,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   42,
								},
								File:   "range_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   42,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   42,
							},
							File:   "range_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   42,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   45,
						},
						File:   "range_test.flux",
						Source: "_range = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
						Start: ast.Position{
							Column: 6,
							Line:   45,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   45,
							},
							File:   "range_test.flux",
							Source: "_range",
							Start: ast.Position{
								Column: 6,
								Line:   45,
							},
						},
					},
					Name: "_range",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   45,
							},
							File:   "range_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
							Start: ast.Position{
								Column: 15,
								Line:   45,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   45,
								},
								File:   "range_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
								Start: ast.Position{
									Column: 21,
									Line:   45,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   45,
									},
									File:   "range_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range}",
									Start: ast.Position{
										Column: 22,
										Line:   45,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   45,
										},
										File:   "range_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   45,
											},
											File:   "range_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   45,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   45,
												},
												File:   "range_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   45,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   45,
													},
													File:   "range_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   45,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   45,
														},
														File:   "range_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   45,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   45,
														},
														File:   "range_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   45,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   45,
											},
											File:   "range_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   45,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   45,
												},
												File:   "range_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   45,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   45,
													},
													File:   "range_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   45,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   45,
													},
													File:   "range_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   45,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   45,
										},
										File:   "range_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   45,
											},
											File:   "range_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   45,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   45,
												},
												File:   "range_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   45,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   45,
													},
													File:   "range_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   45,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   45,
														},
														File:   "range_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   45,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   45,
														},
														File:   "range_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   45,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   45,
											},
											File:   "range_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   45,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   45,
												},
												File:   "range_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   45,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   45,
													},
													File:   "range_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   45,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   45,
													},
													File:   "range_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   45,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   45,
										},
										File:   "range_test.flux",
										Source: "fn: t_range",
										Start: ast.Position{
											Column: 101,
											Line:   45,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   45,
											},
											File:   "range_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   45,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   45,
											},
											File:   "range_test.flux",
											Source: "t_range",
											Start: ast.Position{
												Column: 105,
												Line:   45,
											},
										},
									},
									Name: "t_range",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   45,
					},
					File:   "range_test.flux",
					Source: "test _range = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_range})",
					Start: ast.Position{
						Column: 1,
						Line:   45,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "range_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "range_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "range_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "range_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "range_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   38,
				},
				File:   "reduce_noref_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,1,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:36Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:46Z,1,used_percent,swap,host.local2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double,double\n#group,false,false,true,true,true,true,true,false,false\n#default,got,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,b,sum\n,,0,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local,1.0,6\n,,1,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local2,1.0,3\n\"\nt_reduce = (tables=<-) => tables\n    |> range(start: 2018-05-21T13:09:22.885021542Z)\n    |> reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum, b: 1.0}),\n        identity: {sum: 0.0, b: 0.0},\n    )\n\ntest _reduce = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "reduce_noref_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "reduce_noref_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "reduce_noref_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "reduce_noref_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "reduce_noref_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   22,
					},
					File:   "reduce_noref_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,1,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:36Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:46Z,1,used_percent,swap,host.local2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "reduce_noref_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   22,
						},
						File:   "reduce_noref_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,1,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:36Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:46Z,1,used_percent,swap,host.local2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,1,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:36Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:46Z,1,used_percent,swap,host.local2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   30,
					},
					File:   "reduce_noref_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double,double\n#group,false,false,true,true,true,true,true,false,false\n#default,got,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,b,sum\n,,0,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local,1.0,6\n,,1,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local2,1.0,3\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   23,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   23,
						},
						File:   "reduce_noref_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   23,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   30,
						},
						File:   "reduce_noref_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double,double\n#group,false,false,true,true,true,true,true,false,false\n#default,got,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,b,sum\n,,0,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local,1.0,6\n,,1,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local2,1.0,3\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   23,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double,double\n#group,false,false,true,true,true,true,true,false,false\n#default,got,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,b,sum\n,,0,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local,1.0,6\n,,1,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local2,1.0,3\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   36,
					},
					File:   "reduce_noref_test.flux",
					Source: "t_reduce = (tables=<-) => tables\n    |> range(start: 2018-05-21T13:09:22.885021542Z)\n    |> reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum, b: 1.0}),\n        identity: {sum: 0.0, b: 0.0},\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   31,
						},
						File:   "reduce_noref_test.flux",
						Source: "t_reduce",
						Start: ast.Position{
							Column: 1,
							Line:   31,
						},
					},
				},
				Name: "t_reduce",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   36,
						},
						File:   "reduce_noref_test.flux",
						Source: "(tables=<-) => tables\n    |> range(start: 2018-05-21T13:09:22.885021542Z)\n    |> reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum, b: 1.0}),\n        identity: {sum: 0.0, b: 0.0},\n    )",
						Start: ast.Position{
							Column: 12,
							Line:   31,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   31,
									},
									File:   "reduce_noref_test.flux",
									Source: "tables",
									Start: ast.Position{
										Column: 27,
										Line:   31,
									},
								},
							},
							Name: "tables",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 52,
									Line:   32,
								},
								File:   "reduce_noref_test.flux",
								Source: "tables\n    |> range(start: 2018-05-21T13:09:22.885021542Z)",
								Start: ast.Position{
									Column: 27,
									Line:   31,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 51,
											Line:   32,
										},
										File:   "reduce_noref_test.flux",
										Source: "start: 2018-05-21T13:09:22.885021542Z",
										Start: ast.Position{
											Column: 14,
											Line:   32,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   32,
											},
											File:   "reduce_noref_test.flux",
											Source: "start: 2018-05-21T13:09:22.885021542Z",
											Start: ast.Position{
												Column: 14,
												Line:   32,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   32,
												},
												File:   "reduce_noref_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   32,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   32,
												},
												File:   "reduce_noref_test.flux",
												Source: "2018-05-21T13:09:22.885021542Z",
												Start: ast.Position{
													Column: 21,
													Line:   32,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-21T13:09:22.885021542Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 52,
										Line:   32,
									},
									File:   "reduce_noref_test.flux",
									Source: "range(start: 2018-05-21T13:09:22.885021542Z)",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   32,
										},
										File:   "reduce_noref_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   32,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   36,
							},
							File:   "reduce_noref_test.flux",
							Source: "tables\n    |> range(start: 2018-05-21T13:09:22.885021542Z)\n    |> reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum, b: 1.0}),\n        identity: {sum: 0.0, b: 0.0},\n    )",
							Start: ast.Position{
								Column: 27,
								Line:   31,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   35,
									},
									File:   "reduce_noref_test.flux",
									Source: "fn: (r, accumulator) => ({sum: r._value + accumulator.sum, b: 1.0}),\n        identity: {sum: 0.0, b: 0.0}",
									Start: ast.Position{
										Column: 9,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   34,
										},
										File:   "reduce_noref_test.flux",
										Source: "fn: (r, accumulator) => ({sum: r._value + accumulator.sum, b: 1.0})",
										Start: ast.Position{
											Column: 9,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   34,
											},
											File:   "reduce_noref_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   34,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   34,
											},
											File:   "reduce_noref_test.flux",
											Source: "(r, accumulator) => ({sum: r._value + accumulator.sum, b: 1.0})",
											Start: ast.Position{
												Column: 13,
												Line:   34,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 76,
													Line:   34,
												},
												File:   "reduce_noref_test.flux",
												Source: "({sum: r._value + accumulator.sum, b: 1.0})",
												Start: ast.Position{
													Column: 33,
													Line:   34,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   34,
													},
													File:   "reduce_noref_test.flux",
													Source: "{sum: r._value + accumulator.sum, b: 1.0}",
													Start: ast.Position{
														Column: 34,
														Line:   34,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   34,
														},
														File:   "reduce_noref_test.flux",
														Source: "sum: r._value + accumulator.sum",
														Start: ast.Position{
															Column: 35,
															Line:   34,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   34,
															},
															File:   "reduce_noref_test.flux",
															Source: "sum",
															Start: ast.Position{
																Column: 35,
																Line:   34,
															},
														},
													},
													Name: "sum",
												},
												Separator: nil,
												Value: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 66,
																Line:   34,
															},
															File:   "reduce_noref_test.flux",
															Source: "r._value + accumulator.sum",
															Start: ast.Position{
																Column: 40,
																Line:   34,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 48,
																	Line:   34,
																},
																File:   "reduce_noref_test.flux",
																Source: "r._value",
																Start: ast.Position{
																	Column: 40,
																	Line:   34,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 41,
																		Line:   34,
																	},
																	File:   "reduce_noref_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 40,
																		Line:   34,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 48,
																		Line:   34,
																	},
																	File:   "reduce_noref_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 42,
																		Line:   34,
																	},
																},
															},
															Name: "_value",
														},
														Rbrack: nil,
													},
													Operator: 5,
													Right: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 66,
																	Line:   34,
																},
																File:   "reduce_noref_test.flux",
																Source: "accumulator.sum",
																Start: ast.Position{
																	Column: 51,
																	Line:   34,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 62,
																		Line:   34,
																	},
																	File:   "reduce_noref_test.flux",
																	Source: "accumulator",
																	Start: ast.Position{
																		Column: 51,
																		Line:   34,
																	},
																},
															},
															Name: "accumulator",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 66,
																		Line:   34,
																	},
																	File:   "reduce_noref_test.flux",
																	Source: "sum",
																	Start: ast.Position{
																		Column: 63,
																		Line:   34,
																	},
																},
															},
															Name: "sum",
														},
														Rbrack: nil,
													},
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   34,
														},
														File:   "reduce_noref_test.flux",
														Source: "b: 1.0",
														Start: ast.Position{
															Column: 68,
															Line:   34,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 69,
																Line:   34,
															},
															File:   "reduce_noref_test.flux",
															Source: "b",
															Start: ast.Position{
																Column: 68,
																Line:   34,
															},
														},
													},
													Name: "b",
												},
												Separator: nil,
												Value: &ast.FloatLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 74,
																Line:   34,
															},
															File:   "reduce_noref_test.flux",
															Source: "1.0",
															Start: ast.Position{
																Column: 71,
																Line:   34,
															},
														},
													},
													Value: 1.0,
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   34,
												},
												File:   "reduce_noref_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 14,
													Line:   34,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   34,
													},
													File:   "reduce_noref_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 14,
														Line:   34,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   34,
												},
												File:   "reduce_noref_test.flux",
												Source: "accumulator",
												Start: ast.Position{
													Column: 17,
													Line:   34,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   34,
													},
													File:   "reduce_noref_test.flux",
													Source: "accumulator",
													Start: ast.Position{
														Column: 17,
														Line:   34,
													},
												},
											},
											Name: "accumulator",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   35,
										},
										File:   "reduce_noref_test.flux",
										Source: "identity: {sum: 0.0, b: 0.0}",
										Start: ast.Position{
											Column: 9,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   35,
											},
											File:   "reduce_noref_test.flux",
											Source: "identity",
											Start: ast.Position{
												Column: 9,
												Line:   35,
											},
										},
									},
									Name: "identity",
								},
								Separator: nil,
								Value: &ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   35,
											},
											File:   "reduce_noref_test.flux",
											Source: "{sum: 0.0, b: 0.0}",
											Start: ast.Position{
												Column: 19,
												Line:   35,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   35,
												},
												File:   "reduce_noref_test.flux",
												Source: "sum: 0.0",
												Start: ast.Position{
													Column: 20,
													Line:   35,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 23,
														Line:   35,
													},
													File:   "reduce_noref_test.flux",
													Source: "sum",
													Start: ast.Position{
														Column: 20,
														Line:   35,
													},
												},
											},
											Name: "sum",
										},
										Separator: nil,
										Value: &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   35,
													},
													File:   "reduce_noref_test.flux",
													Source: "0.0",
													Start: ast.Position{
														Column: 25,
														Line:   35,
													},
												},
											},
											Value: 0.0,
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   35,
												},
												File:   "reduce_noref_test.flux",
												Source: "b: 0.0",
												Start: ast.Position{
													Column: 30,
													Line:   35,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   35,
													},
													File:   "reduce_noref_test.flux",
													Source: "b",
													Start: ast.Position{
														Column: 30,
														Line:   35,
													},
												},
											},
											Name: "b",
										},
										Separator: nil,
										Value: &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   35,
													},
													File:   "reduce_noref_test.flux",
													Source: "0.0",
													Start: ast.Position{
														Column: 33,
														Line:   35,
													},
												},
											},
											Value: 0.0,
										},
									}},
									Rbrace: nil,
									With:   nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   36,
								},
								File:   "reduce_noref_test.flux",
								Source: "reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum, b: 1.0}),\n        identity: {sum: 0.0, b: 0.0},\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   33,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   33,
									},
									File:   "reduce_noref_test.flux",
									Source: "reduce",
									Start: ast.Position{
										Column: 8,
										Line:   33,
									},
								},
							},
							Name: "reduce",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   31,
							},
							File:   "reduce_noref_test.flux",
							Source: "tables=<-",
							Start: ast.Position{
								Column: 13,
								Line:   31,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   31,
								},
								File:   "reduce_noref_test.flux",
								Source: "tables",
								Start: ast.Position{
									Column: 13,
									Line:   31,
								},
							},
						},
						Name: "tables",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   31,
							},
							File:   "reduce_noref_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 20,
								Line:   31,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   38,
						},
						File:   "reduce_noref_test.flux",
						Source: "_reduce = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
						Start: ast.Position{
							Column: 6,
							Line:   38,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   38,
							},
							File:   "reduce_noref_test.flux",
							Source: "_reduce",
							Start: ast.Position{
								Column: 6,
								Line:   38,
							},
						},
					},
					Name: "_reduce",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   38,
							},
							File:   "reduce_noref_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
							Start: ast.Position{
								Column: 16,
								Line:   38,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   38,
								},
								File:   "reduce_noref_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
								Start: ast.Position{
									Column: 22,
									Line:   38,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   38,
									},
									File:   "reduce_noref_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce}",
									Start: ast.Position{
										Column: 23,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   38,
										},
										File:   "reduce_noref_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 24,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   38,
											},
											File:   "reduce_noref_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 24,
												Line:   38,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   38,
												},
												File:   "reduce_noref_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 51,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   38,
													},
													File:   "reduce_noref_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 51,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   38,
														},
														File:   "reduce_noref_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 51,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   38,
														},
														File:   "reduce_noref_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 56,
															Line:   38,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   38,
											},
											File:   "reduce_noref_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 31,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   38,
												},
												File:   "reduce_noref_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 31,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   38,
													},
													File:   "reduce_noref_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 31,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   38,
													},
													File:   "reduce_noref_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 39,
														Line:   38,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 100,
											Line:   38,
										},
										File:   "reduce_noref_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 65,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   38,
											},
											File:   "reduce_noref_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 65,
												Line:   38,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   38,
												},
												File:   "reduce_noref_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 87,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   38,
													},
													File:   "reduce_noref_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 87,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 90,
															Line:   38,
														},
														File:   "reduce_noref_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 87,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   38,
														},
														File:   "reduce_noref_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 92,
															Line:   38,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 100,
												Line:   38,
											},
											File:   "reduce_noref_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 71,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 86,
													Line:   38,
												},
												File:   "reduce_noref_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 71,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   38,
													},
													File:   "reduce_noref_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 71,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   38,
													},
													File:   "reduce_noref_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 79,
														Line:   38,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   38,
										},
										File:   "reduce_noref_test.flux",
										Source: "fn: t_reduce",
										Start: ast.Position{
											Column: 102,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   38,
											},
											File:   "reduce_noref_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 102,
												Line:   38,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   38,
											},
											File:   "reduce_noref_test.flux",
											Source: "t_reduce",
											Start: ast.Position{
												Column: 106,
												Line:   38,
											},
										},
									},
									Name: "t_reduce",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   38,
					},
					File:   "reduce_noref_test.flux",
					Source: "test _reduce = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "reduce_noref_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "reduce_noref_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "reduce_noref_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "reduce_noref_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "reduce_noref_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   38,
				},
				File:   "reduce_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,1,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:36Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:46Z,1,used_percent,swap,host.local2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,true,true,true,false\n#default,got,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,sum\n,,0,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local,6\n,,1,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local2,3\n\"\nt_reduce = (table=<-) => table\n    |> range(start: 2018-05-21T13:09:22.885021542Z)\n    |> reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum}),\n        identity: {sum: 0.0},\n    )\n\ntest _reduce = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "reduce_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "reduce_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "reduce_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "reduce_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "reduce_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   22,
					},
					File:   "reduce_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,1,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:36Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:46Z,1,used_percent,swap,host.local2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "reduce_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   22,
						},
						File:   "reduce_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,1,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:36Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:46Z,1,used_percent,swap,host.local2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,3,2018-05-22T19:53:26Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,1,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,1,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:36Z,1,used_percent,swap,host.local2\n,,4,2018-05-22T19:53:46Z,1,used_percent,swap,host.local2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   30,
					},
					File:   "reduce_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,true,true,true,false\n#default,got,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,sum\n,,0,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local,6\n,,1,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local2,3\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   23,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   23,
						},
						File:   "reduce_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   23,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   30,
						},
						File:   "reduce_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,true,true,true,false\n#default,got,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,sum\n,,0,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local,6\n,,1,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local2,3\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   23,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,double\n#group,false,false,true,true,true,true,true,false\n#default,got,,,,,,,\n,result,table,_start,_stop,_field,_measurement,host,sum\n,,0,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local,6\n,,1,2018-05-21T13:09:22.885021542Z,2030-01-01T00:00:00Z,used_percent,swap,host.local2,3\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   36,
					},
					File:   "reduce_test.flux",
					Source: "t_reduce = (table=<-) => table\n    |> range(start: 2018-05-21T13:09:22.885021542Z)\n    |> reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum}),\n        identity: {sum: 0.0},\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   31,
						},
						File:   "reduce_test.flux",
						Source: "t_reduce",
						Start: ast.Position{
							Column: 1,
							Line:   31,
						},
					},
				},
				Name: "t_reduce",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   36,
						},
						File:   "reduce_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-21T13:09:22.885021542Z)\n    |> reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum}),\n        identity: {sum: 0.0},\n    )",
						Start: ast.Position{
							Column: 12,
							Line:   31,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 31,
										Line:   31,
									},
									File:   "reduce_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 26,
										Line:   31,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 52,
									Line:   32,
								},
								File:   "reduce_test.flux",
								Source: "table\n    |> range(start: 2018-05-21T13:09:22.885021542Z)",
								Start: ast.Position{
									Column: 26,
									Line:   31,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 51,
											Line:   32,
										},
										File:   "reduce_test.flux",
										Source: "start: 2018-05-21T13:09:22.885021542Z",
										Start: ast.Position{
											Column: 14,
											Line:   32,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   32,
											},
											File:   "reduce_test.flux",
											Source: "start: 2018-05-21T13:09:22.885021542Z",
											Start: ast.Position{
												Column: 14,
												Line:   32,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   32,
												},
												File:   "reduce_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   32,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   32,
												},
												File:   "reduce_test.flux",
												Source: "2018-05-21T13:09:22.885021542Z",
												Start: ast.Position{
													Column: 21,
													Line:   32,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-21T13:09:22.885021542Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 52,
										Line:   32,
									},
									File:   "reduce_test.flux",
									Source: "range(start: 2018-05-21T13:09:22.885021542Z)",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   32,
										},
										File:   "reduce_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   32,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   36,
							},
							File:   "reduce_test.flux",
							Source: "table\n    |> range(start: 2018-05-21T13:09:22.885021542Z)\n    |> reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum}),\n        identity: {sum: 0.0},\n    )",
							Start: ast.Position{
								Column: 26,
								Line:   31,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   35,
									},
									File:   "reduce_test.flux",
									Source: "fn: (r, accumulator) => ({sum: r._value + accumulator.sum}),\n        identity: {sum: 0.0}",
									Start: ast.Position{
										Column: 9,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   34,
										},
										File:   "reduce_test.flux",
										Source: "fn: (r, accumulator) => ({sum: r._value + accumulator.sum})",
										Start: ast.Position{
											Column: 9,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   34,
											},
											File:   "reduce_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   34,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   34,
											},
											File:   "reduce_test.flux",
											Source: "(r, accumulator) => ({sum: r._value + accumulator.sum})",
											Start: ast.Position{
												Column: 13,
												Line:   34,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   34,
												},
												File:   "reduce_test.flux",
												Source: "({sum: r._value + accumulator.sum})",
												Start: ast.Position{
													Column: 33,
													Line:   34,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   34,
													},
													File:   "reduce_test.flux",
													Source: "{sum: r._value + accumulator.sum}",
													Start: ast.Position{
														Column: 34,
														Line:   34,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   34,
														},
														File:   "reduce_test.flux",
														Source: "sum: r._value + accumulator.sum",
														Start: ast.Position{
															Column: 35,
															Line:   34,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 38,
																Line:   34,
															},
															File:   "reduce_test.flux",
															Source: "sum",
															Start: ast.Position{
																Column: 35,
																Line:   34,
															},
														},
													},
													Name: "sum",
												},
												Separator: nil,
												Value: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 66,
																Line:   34,
															},
															File:   "reduce_test.flux",
															Source: "r._value + accumulator.sum",
															Start: ast.Position{
																Column: 40,
																Line:   34,
															},
														},
													},
													Left: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 48,
																	Line:   34,
																},
																File:   "reduce_test.flux",
																Source: "r._value",
																Start: ast.Position{
																	Column: 40,
																	Line:   34,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 41,
																		Line:   34,
																	},
																	File:   "reduce_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 40,
																		Line:   34,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 48,
																		Line:   34,
																	},
																	File:   "reduce_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 42,
																		Line:   34,
																	},
																},
															},
															Name: "_value",
														},
														Rbrack: nil,
													},
													Operator: 5,
													Right: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 66,
																	Line:   34,
																},
																File:   "reduce_test.flux",
																Source: "accumulator.sum",
																Start: ast.Position{
																	Column: 51,
																	Line:   34,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 62,
																		Line:   34,
																	},
																	File:   "reduce_test.flux",
																	Source: "accumulator",
																	Start: ast.Position{
																		Column: 51,
																		Line:   34,
																	},
																},
															},
															Name: "accumulator",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 66,
																		Line:   34,
																	},
																	File:   "reduce_test.flux",
																	Source: "sum",
																	Start: ast.Position{
																		Column: 63,
																		Line:   34,
																	},
																},
															},
															Name: "sum",
														},
														Rbrack: nil,
													},
												},
											}},
											Rbrace: nil,
											With:   nil,
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   34,
												},
												File:   "reduce_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 14,
													Line:   34,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   34,
													},
													File:   "reduce_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 14,
														Line:   34,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   34,
												},
												File:   "reduce_test.flux",
												Source: "accumulator",
												Start: ast.Position{
													Column: 17,
													Line:   34,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   34,
													},
													File:   "reduce_test.flux",
													Source: "accumulator",
													Start: ast.Position{
														Column: 17,
														Line:   34,
													},
												},
											},
											Name: "accumulator",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   35,
										},
										File:   "reduce_test.flux",
										Source: "identity: {sum: 0.0}",
										Start: ast.Position{
											Column: 9,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   35,
											},
											File:   "reduce_test.flux",
											Source: "identity",
											Start: ast.Position{
												Column: 9,
												Line:   35,
											},
										},
									},
									Name: "identity",
								},
								Separator: nil,
								Value: &ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   35,
											},
											File:   "reduce_test.flux",
											Source: "{sum: 0.0}",
											Start: ast.Position{
												Column: 19,
												Line:   35,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   35,
												},
												File:   "reduce_test.flux",
												Source: "sum: 0.0",
												Start: ast.Position{
													Column: 20,
													Line:   35,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 23,
														Line:   35,
													},
													File:   "reduce_test.flux",
													Source: "sum",
													Start: ast.Position{
														Column: 20,
														Line:   35,
													},
												},
											},
											Name: "sum",
										},
										Separator: nil,
										Value: &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   35,
													},
													File:   "reduce_test.flux",
													Source: "0.0",
													Start: ast.Position{
														Column: 25,
														Line:   35,
													},
												},
											},
											Value: 0.0,
										},
									}},
									Rbrace: nil,
									With:   nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   36,
								},
								File:   "reduce_test.flux",
								Source: "reduce(\n        fn: (r, accumulator) => ({sum: r._value + accumulator.sum}),\n        identity: {sum: 0.0},\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   33,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   33,
									},
									File:   "reduce_test.flux",
									Source: "reduce",
									Start: ast.Position{
										Column: 8,
										Line:   33,
									},
								},
							},
							Name: "reduce",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   31,
							},
							File:   "reduce_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   31,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   31,
								},
								File:   "reduce_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   31,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   31,
							},
							File:   "reduce_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   31,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   38,
						},
						File:   "reduce_test.flux",
						Source: "_reduce = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
						Start: ast.Position{
							Column: 6,
							Line:   38,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   38,
							},
							File:   "reduce_test.flux",
							Source: "_reduce",
							Start: ast.Position{
								Column: 6,
								Line:   38,
							},
						},
					},
					Name: "_reduce",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   38,
							},
							File:   "reduce_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
							Start: ast.Position{
								Column: 16,
								Line:   38,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   38,
								},
								File:   "reduce_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
								Start: ast.Position{
									Column: 22,
									Line:   38,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   38,
									},
									File:   "reduce_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce}",
									Start: ast.Position{
										Column: 23,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   38,
										},
										File:   "reduce_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 24,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   38,
											},
											File:   "reduce_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 24,
												Line:   38,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   38,
												},
												File:   "reduce_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 51,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   38,
													},
													File:   "reduce_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 51,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   38,
														},
														File:   "reduce_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 51,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   38,
														},
														File:   "reduce_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 56,
															Line:   38,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   38,
											},
											File:   "reduce_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 31,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   38,
												},
												File:   "reduce_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 31,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   38,
													},
													File:   "reduce_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 31,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   38,
													},
													File:   "reduce_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 39,
														Line:   38,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 100,
											Line:   38,
										},
										File:   "reduce_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 65,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   38,
											},
											File:   "reduce_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 65,
												Line:   38,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   38,
												},
												File:   "reduce_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 87,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   38,
													},
													File:   "reduce_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 87,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 90,
															Line:   38,
														},
														File:   "reduce_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 87,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   38,
														},
														File:   "reduce_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 92,
															Line:   38,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 100,
												Line:   38,
											},
											File:   "reduce_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 71,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 86,
													Line:   38,
												},
												File:   "reduce_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 71,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   38,
													},
													File:   "reduce_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 71,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   38,
													},
													File:   "reduce_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 79,
														Line:   38,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   38,
										},
										File:   "reduce_test.flux",
										Source: "fn: t_reduce",
										Start: ast.Position{
											Column: 102,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   38,
											},
											File:   "reduce_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 102,
												Line:   38,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   38,
											},
											File:   "reduce_test.flux",
											Source: "t_reduce",
											Start: ast.Position{
												Column: 106,
												Line:   38,
											},
										},
									},
									Name: "t_reduce",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   38,
					},
					File:   "reduce_test.flux",
					Source: "test _reduce = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_reduce})",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "reduce_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "reduce_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "reduce_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "reduce_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "reduce_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 148,
					Line:   50,
				},
				File:   "relative_strength_index_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:01:40Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:01:50Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:00Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:10Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:20Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:30Z,90,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:40Z,81,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:50Z,72.9,used_percent,disk,disk1s1,apfs,host.local,/\n\"\nrelative_strength_index = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> relativeStrengthIndex(n: 10)\n\ntest _relative_strength_index = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: relative_strength_index})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "relative_strength_index_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "relative_strength_index_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "relative_strength_index_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "relative_strength_index_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "relative_strength_index_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "relative_strength_index_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "relative_strength_index_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "relative_strength_index_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   45,
					},
					File:   "relative_strength_index_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:01:40Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:01:50Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:00Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:10Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:20Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:30Z,90,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:40Z,81,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:50Z,72.9,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "relative_strength_index_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   45,
						},
						File:   "relative_strength_index_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:01:40Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:01:50Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:00Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:10Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:20Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:30Z,90,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:40Z,81,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:50Z,72.9,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:01:40Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:01:50Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:00Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:10Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:20Z,100,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:30Z,90,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:40Z,81,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00Z,2018-05-22T00:02:50Z,72.9,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 36,
						Line:   48,
					},
					File:   "relative_strength_index_test.flux",
					Source: "relative_strength_index = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> relativeStrengthIndex(n: 10)",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   46,
						},
						File:   "relative_strength_index_test.flux",
						Source: "relative_strength_index",
						Start: ast.Position{
							Column: 1,
							Line:   46,
						},
					},
				},
				Name: "relative_strength_index",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 36,
							Line:   48,
						},
						File:   "relative_strength_index_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> relativeStrengthIndex(n: 10)",
						Start: ast.Position{
							Column: 27,
							Line:   46,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   46,
									},
									File:   "relative_strength_index_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 41,
										Line:   46,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   47,
								},
								File:   "relative_strength_index_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
								Start: ast.Position{
									Column: 41,
									Line:   46,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   47,
										},
										File:   "relative_strength_index_test.flux",
										Source: "start: 2018-05-22T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   47,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   47,
											},
											File:   "relative_strength_index_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   47,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   47,
												},
												File:   "relative_strength_index_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   47,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   47,
												},
												File:   "relative_strength_index_test.flux",
												Source: "2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   47,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   47,
									},
									File:   "relative_strength_index_test.flux",
									Source: "range(start: 2018-05-22T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   47,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   47,
										},
										File:   "relative_strength_index_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   47,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   48,
							},
							File:   "relative_strength_index_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> relativeStrengthIndex(n: 10)",
							Start: ast.Position{
								Column: 41,
								Line:   46,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   48,
									},
									File:   "relative_strength_index_test.flux",
									Source: "n: 10",
									Start: ast.Position{
										Column: 30,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 35,
											Line:   48,
										},
										File:   "relative_strength_index_test.flux",
										Source: "n: 10",
										Start: ast.Position{
											Column: 30,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   48,
											},
											File:   "relative_strength_index_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 30,
												Line:   48,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   48,
											},
											File:   "relative_strength_index_test.flux",
											Source: "10",
											Start: ast.Position{
												Column: 33,
												Line:   48,
											},
										},
									},
									Value: int64(10),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 36,
									Line:   48,
								},
								File:   "relative_strength_index_test.flux",
								Source: "relativeStrengthIndex(n: 10)",
								Start: ast.Position{
									Column: 8,
									Line:   48,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   48,
									},
									File:   "relative_strength_index_test.flux",
									Source: "relativeStrengthIndex",
									Start: ast.Position{
										Column: 8,
										Line:   48,
									},
								},
							},
							Name: "relativeStrengthIndex",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   46,
							},
							File:   "relative_strength_index_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 28,
								Line:   46,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   46,
								},
								File:   "relative_strength_index_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 28,
									Line:   46,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   46,
							},
							File:   "relative_strength_index_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 34,
								Line:   46,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 148,
							Line:   50,
						},
						File:   "relative_strength_index_test.flux",
						Source: "_relative_strength_index = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: relative_strength_index})",
						Start: ast.Position{
							Column: 6,
							Line:   50,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   50,
							},
							File:   "relative_strength_index_test.flux",
							Source: "_relative_strength_index",
							Start: ast.Position{
								Column: 6,
								Line:   50,
							},
						},
					},
					Name: "_relative_strength_index",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 148,
								Line:   50,
							},
							File:   "relative_strength_index_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: relative_strength_index})",
							Start: ast.Position{
								Column: 33,
								Line:   50,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 148,
									Line:   50,
								},
								File:   "relative_strength_index_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: relative_strength_index})",
								Start: ast.Position{
									Column: 39,
									Line:   50,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 147,
										Line:   50,
									},
									File:   "relative_strength_index_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: relative_strength_index}",
									Start: ast.Position{
										Column: 40,
										Line:   50,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 80,
											Line:   50,
										},
										File:   "relative_strength_index_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 41,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   50,
											},
											File:   "relative_strength_index_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 41,
												Line:   50,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 79,
													Line:   50,
												},
												File:   "relative_strength_index_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 68,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 79,
														Line:   50,
													},
													File:   "relative_strength_index_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 68,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   50,
														},
														File:   "relative_strength_index_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 68,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 79,
															Line:   50,
														},
														File:   "relative_strength_index_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 73,
															Line:   50,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   50,
											},
											File:   "relative_strength_index_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 48,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   50,
												},
												File:   "relative_strength_index_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 48,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   50,
													},
													File:   "relative_strength_index_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 48,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   50,
													},
													File:   "relative_strength_index_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 56,
														Line:   50,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 117,
											Line:   50,
										},
										File:   "relative_strength_index_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 82,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 86,
												Line:   50,
											},
											File:   "relative_strength_index_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 82,
												Line:   50,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 116,
													Line:   50,
												},
												File:   "relative_strength_index_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 104,
													Line:   50,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 116,
														Line:   50,
													},
													File:   "relative_strength_index_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 104,
														Line:   50,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   50,
														},
														File:   "relative_strength_index_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 104,
															Line:   50,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 116,
															Line:   50,
														},
														File:   "relative_strength_index_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 109,
															Line:   50,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 117,
												Line:   50,
											},
											File:   "relative_strength_index_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 88,
												Line:   50,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   50,
												},
												File:   "relative_strength_index_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 88,
													Line:   50,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 95,
														Line:   50,
													},
													File:   "relative_strength_index_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 88,
														Line:   50,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   50,
													},
													File:   "relative_strength_index_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 96,
														Line:   50,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 146,
											Line:   50,
										},
										File:   "relative_strength_index_test.flux",
										Source: "fn: relative_strength_index",
										Start: ast.Position{
											Column: 119,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 121,
												Line:   50,
											},
											File:   "relative_strength_index_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 119,
												Line:   50,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 146,
												Line:   50,
											},
											File:   "relative_strength_index_test.flux",
											Source: "relative_strength_index",
											Start: ast.Position{
												Column: 123,
												Line:   50,
											},
										},
									},
									Name: "relative_strength_index",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 148,
						Line:   50,
					},
					File:   "relative_strength_index_test.flux",
					Source: "test _relative_strength_index = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: relative_strength_index})",
					Start: ast.Position{
						Column: 1,
						Line:   50,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "relative_strength_index_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "relative_strength_index_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "relative_strength_index_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "relative_strength_index_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "relative_strength_index_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 119,
					Line:   59,
				},
				File:   "rename_fn_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n\"\nt_rename = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(fn: (column) => column)\n    |> drop(fn: (column) => column == \"_start\" or column == \"_stop\")\n\ntest _rename_fn = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "rename_fn_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "rename_fn_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "rename_fn_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "rename_fn_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "rename_fn_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   30,
					},
					File:   "rename_fn_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "rename_fn_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   30,
						},
						File:   "rename_fn_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   53,
					},
					File:   "rename_fn_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   31,
						},
						File:   "rename_fn_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   31,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   53,
						},
						File:   "rename_fn_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   31,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 69,
						Line:   57,
					},
					File:   "rename_fn_test.flux",
					Source: "t_rename = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(fn: (column) => column)\n    |> drop(fn: (column) => column == \"_start\" or column == \"_stop\")",
					Start: ast.Position{
						Column: 1,
						Line:   54,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   54,
						},
						File:   "rename_fn_test.flux",
						Source: "t_rename",
						Start: ast.Position{
							Column: 1,
							Line:   54,
						},
					},
				},
				Name: "t_rename",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 69,
							Line:   57,
						},
						File:   "rename_fn_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(fn: (column) => column)\n    |> drop(fn: (column) => column == \"_start\" or column == \"_stop\")",
						Start: ast.Position{
							Column: 12,
							Line:   54,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 31,
											Line:   54,
										},
										File:   "rename_fn_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 26,
											Line:   54,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   55,
									},
									File:   "rename_fn_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 26,
										Line:   54,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   55,
											},
											File:   "rename_fn_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   55,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   55,
												},
												File:   "rename_fn_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   55,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   55,
													},
													File:   "rename_fn_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   55,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   55,
													},
													File:   "rename_fn_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   55,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   55,
										},
										File:   "rename_fn_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   55,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   55,
											},
											File:   "rename_fn_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   55,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 38,
									Line:   56,
								},
								File:   "rename_fn_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(fn: (column) => column)",
								Start: ast.Position{
									Column: 26,
									Line:   54,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   56,
										},
										File:   "rename_fn_test.flux",
										Source: "fn: (column) => column",
										Start: ast.Position{
											Column: 15,
											Line:   56,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   56,
											},
											File:   "rename_fn_test.flux",
											Source: "fn: (column) => column",
											Start: ast.Position{
												Column: 15,
												Line:   56,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   56,
												},
												File:   "rename_fn_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   56,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   56,
												},
												File:   "rename_fn_test.flux",
												Source: "(column) => column",
												Start: ast.Position{
													Column: 19,
													Line:   56,
												},
											},
										},
										Body: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   56,
													},
													File:   "rename_fn_test.flux",
													Source: "column",
													Start: ast.Position{
														Column: 31,
														Line:   56,
													},
												},
											},
											Name: "column",
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   56,
													},
													File:   "rename_fn_test.flux",
													Source: "column",
													Start: ast.Position{
														Column: 20,
														Line:   56,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 26,
															Line:   56,
														},
														File:   "rename_fn_test.flux",
														Source: "column",
														Start: ast.Position{
															Column: 20,
															Line:   56,
														},
													},
												},
												Name: "column",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   56,
									},
									File:   "rename_fn_test.flux",
									Source: "rename(fn: (column) => column)",
									Start: ast.Position{
										Column: 8,
										Line:   56,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   56,
										},
										File:   "rename_fn_test.flux",
										Source: "rename",
										Start: ast.Position{
											Column: 8,
											Line:   56,
										},
									},
								},
								Name: "rename",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 69,
								Line:   57,
							},
							File:   "rename_fn_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(fn: (column) => column)\n    |> drop(fn: (column) => column == \"_start\" or column == \"_stop\")",
							Start: ast.Position{
								Column: 26,
								Line:   54,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 68,
										Line:   57,
									},
									File:   "rename_fn_test.flux",
									Source: "fn: (column) => column == \"_start\" or column == \"_stop\"",
									Start: ast.Position{
										Column: 13,
										Line:   57,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   57,
										},
										File:   "rename_fn_test.flux",
										Source: "fn: (column) => column == \"_start\" or column == \"_stop\"",
										Start: ast.Position{
											Column: 13,
											Line:   57,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 15,
												Line:   57,
											},
											File:   "rename_fn_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 13,
												Line:   57,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   57,
											},
											File:   "rename_fn_test.flux",
											Source: "(column) => column == \"_start\" or column == \"_stop\"",
											Start: ast.Position{
												Column: 17,
												Line:   57,
											},
										},
									},
									Body: &ast.LogicalExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   57,
												},
												File:   "rename_fn_test.flux",
												Source: "column == \"_start\" or column == \"_stop\"",
												Start: ast.Position{
													Column: 29,
													Line:   57,
												},
											},
										},
										Left: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   57,
													},
													File:   "rename_fn_test.flux",
													Source: "column == \"_start\"",
													Start: ast.Position{
														Column: 29,
														Line:   57,
													},
												},
											},
											Left: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   57,
														},
														File:   "rename_fn_test.flux",
														Source: "column",
														Start: ast.Position{
															Column: 29,
															Line:   57,
														},
													},
												},
												Name: "column",
											},
											Operator: 17,
											Right: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 47,
															Line:   57,
														},
														File:   "rename_fn_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 39,
															Line:   57,
														},
													},
												},
												Value: "_start",
											},
										},
										Operator: 2,
										Right: &ast.BinaryExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   57,
													},
													File:   "rename_fn_test.flux",
													Source: "column == \"_stop\"",
													Start: ast.Position{
														Column: 51,
														Line:   57,
													},
												},
											},
											Left: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   57,
														},
														File:   "rename_fn_test.flux",
														Source: "column",
														Start: ast.Position{
															Column: 51,
															Line:   57,
														},
													},
												},
												Name: "column",
											},
											Operator: 17,
											Right: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   57,
														},
														File:   "rename_fn_test.flux",
														Source: "\"_stop\"",
														Start: ast.Position{
															Column: 61,
															Line:   57,
														},
													},
												},
												Value: "_stop",
											},
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   57,
												},
												File:   "rename_fn_test.flux",
												Source: "column",
												Start: ast.Position{
													Column: 18,
													Line:   57,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   57,
													},
													File:   "rename_fn_test.flux",
													Source: "column",
													Start: ast.Position{
														Column: 18,
														Line:   57,
													},
												},
											},
											Name: "column",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 69,
									Line:   57,
								},
								File:   "rename_fn_test.flux",
								Source: "drop(fn: (column) => column == \"_start\" or column == \"_stop\")",
								Start: ast.Position{
									Column: 8,
									Line:   57,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   57,
									},
									File:   "rename_fn_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   57,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   54,
							},
							File:   "rename_fn_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   54,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   54,
								},
								File:   "rename_fn_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   54,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   54,
							},
							File:   "rename_fn_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   54,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 119,
							Line:   59,
						},
						File:   "rename_fn_test.flux",
						Source: "_rename_fn = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
						Start: ast.Position{
							Column: 6,
							Line:   59,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   59,
							},
							File:   "rename_fn_test.flux",
							Source: "_rename_fn",
							Start: ast.Position{
								Column: 6,
								Line:   59,
							},
						},
					},
					Name: "_rename_fn",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 119,
								Line:   59,
							},
							File:   "rename_fn_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
							Start: ast.Position{
								Column: 19,
								Line:   59,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 119,
									Line:   59,
								},
								File:   "rename_fn_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
								Start: ast.Position{
									Column: 25,
									Line:   59,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 118,
										Line:   59,
									},
									File:   "rename_fn_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename}",
									Start: ast.Position{
										Column: 26,
										Line:   59,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 66,
											Line:   59,
										},
										File:   "rename_fn_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 27,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   59,
											},
											File:   "rename_fn_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 27,
												Line:   59,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   59,
												},
												File:   "rename_fn_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 54,
													Line:   59,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   59,
													},
													File:   "rename_fn_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 54,
														Line:   59,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   59,
														},
														File:   "rename_fn_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 54,
															Line:   59,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   59,
														},
														File:   "rename_fn_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 59,
															Line:   59,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   59,
											},
											File:   "rename_fn_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 34,
												Line:   59,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   59,
												},
												File:   "rename_fn_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 34,
													Line:   59,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   59,
													},
													File:   "rename_fn_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 34,
														Line:   59,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   59,
													},
													File:   "rename_fn_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 42,
														Line:   59,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 103,
											Line:   59,
										},
										File:   "rename_fn_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 68,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   59,
											},
											File:   "rename_fn_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 68,
												Line:   59,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   59,
												},
												File:   "rename_fn_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 90,
													Line:   59,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   59,
													},
													File:   "rename_fn_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 90,
														Line:   59,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 93,
															Line:   59,
														},
														File:   "rename_fn_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 90,
															Line:   59,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   59,
														},
														File:   "rename_fn_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 95,
															Line:   59,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   59,
											},
											File:   "rename_fn_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 74,
												Line:   59,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   59,
												},
												File:   "rename_fn_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 74,
													Line:   59,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   59,
													},
													File:   "rename_fn_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 74,
														Line:   59,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   59,
													},
													File:   "rename_fn_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 82,
														Line:   59,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 117,
											Line:   59,
										},
										File:   "rename_fn_test.flux",
										Source: "fn: t_rename",
										Start: ast.Position{
											Column: 105,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   59,
											},
											File:   "rename_fn_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 105,
												Line:   59,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 117,
												Line:   59,
											},
											File:   "rename_fn_test.flux",
											Source: "t_rename",
											Start: ast.Position{
												Column: 109,
												Line:   59,
											},
										},
									},
									Name: "t_rename",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 119,
						Line:   59,
					},
					File:   "rename_fn_test.flux",
					Source: "test _rename_fn = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
					Start: ast.Position{
						Column: 1,
						Line:   59,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "rename_fn_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "rename_fn_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "rename_fn_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "rename_fn_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "rename_fn_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 134,
					Line:   61,
				},
				File:   "rename_multiple_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new1,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\nt_rename_multiple = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> rename(columns: {new: \"new1\"})\n\ntest _rename_multiple = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename_multiple})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "rename_multiple_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "rename_multiple_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "rename_multiple_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "rename_multiple_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "rename_multiple_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "rename_multiple_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "rename_multiple_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "rename_multiple_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,old,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "rename_multiple_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new1,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "rename_multiple_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "rename_multiple_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new1,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,new1,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 38,
						Line:   59,
					},
					File:   "rename_multiple_test.flux",
					Source: "t_rename_multiple = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> rename(columns: {new: \"new1\"})",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 18,
							Line:   56,
						},
						File:   "rename_multiple_test.flux",
						Source: "t_rename_multiple",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "t_rename_multiple",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 38,
							Line:   59,
						},
						File:   "rename_multiple_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> rename(columns: {new: \"new1\"})",
						Start: ast.Position{
							Column: 21,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   56,
										},
										File:   "rename_multiple_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 35,
											Line:   56,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "rename_multiple_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 35,
										Line:   56,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "rename_multiple_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "rename_multiple_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   57,
													},
													File:   "rename_multiple_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   57,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   57,
													},
													File:   "rename_multiple_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   57,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   57,
										},
										File:   "rename_multiple_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   57,
											},
											File:   "rename_multiple_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   57,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   58,
								},
								File:   "rename_multiple_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})",
								Start: ast.Position{
									Column: 35,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   58,
										},
										File:   "rename_multiple_test.flux",
										Source: "columns: {old: \"new\"}",
										Start: ast.Position{
											Column: 15,
											Line:   58,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   58,
											},
											File:   "rename_multiple_test.flux",
											Source: "columns: {old: \"new\"}",
											Start: ast.Position{
												Column: 15,
												Line:   58,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   58,
												},
												File:   "rename_multiple_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 15,
													Line:   58,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   58,
												},
												File:   "rename_multiple_test.flux",
												Source: "{old: \"new\"}",
												Start: ast.Position{
													Column: 24,
													Line:   58,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   58,
													},
													File:   "rename_multiple_test.flux",
													Source: "old: \"new\"",
													Start: ast.Position{
														Column: 25,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   58,
														},
														File:   "rename_multiple_test.flux",
														Source: "old",
														Start: ast.Position{
															Column: 25,
															Line:   58,
														},
													},
												},
												Name: "old",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   58,
														},
														File:   "rename_multiple_test.flux",
														Source: "\"new\"",
														Start: ast.Position{
															Column: 30,
															Line:   58,
														},
													},
												},
												Value: "new",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   58,
									},
									File:   "rename_multiple_test.flux",
									Source: "rename(columns: {old: \"new\"})",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   58,
										},
										File:   "rename_multiple_test.flux",
										Source: "rename",
										Start: ast.Position{
											Column: 8,
											Line:   58,
										},
									},
								},
								Name: "rename",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   59,
							},
							File:   "rename_multiple_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {old: \"new\"})\n    |> rename(columns: {new: \"new1\"})",
							Start: ast.Position{
								Column: 35,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   59,
									},
									File:   "rename_multiple_test.flux",
									Source: "columns: {new: \"new1\"}",
									Start: ast.Position{
										Column: 15,
										Line:   59,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   59,
										},
										File:   "rename_multiple_test.flux",
										Source: "columns: {new: \"new1\"}",
										Start: ast.Position{
											Column: 15,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 22,
												Line:   59,
											},
											File:   "rename_multiple_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 15,
												Line:   59,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   59,
											},
											File:   "rename_multiple_test.flux",
											Source: "{new: \"new1\"}",
											Start: ast.Position{
												Column: 24,
												Line:   59,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   59,
												},
												File:   "rename_multiple_test.flux",
												Source: "new: \"new1\"",
												Start: ast.Position{
													Column: 25,
													Line:   59,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   59,
													},
													File:   "rename_multiple_test.flux",
													Source: "new",
													Start: ast.Position{
														Column: 25,
														Line:   59,
													},
												},
											},
											Name: "new",
										},
										Separator: nil,
										Value: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   59,
													},
													File:   "rename_multiple_test.flux",
													Source: "\"new1\"",
													Start: ast.Position{
														Column: 30,
														Line:   59,
													},
												},
											},
											Value: "new1",
										},
									}},
									Rbrace: nil,
									With:   nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 38,
									Line:   59,
								},
								File:   "rename_multiple_test.flux",
								Source: "rename(columns: {new: \"new1\"})",
								Start: ast.Position{
									Column: 8,
									Line:   59,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   59,
									},
									File:   "rename_multiple_test.flux",
									Source: "rename",
									Start: ast.Position{
										Column: 8,
										Line:   59,
									},
								},
							},
							Name: "rename",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   56,
							},
							File:   "rename_multiple_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 22,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   56,
								},
								File:   "rename_multiple_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 22,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   56,
							},
							File:   "rename_multiple_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 28,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 134,
							Line:   61,
						},
						File:   "rename_multiple_test.flux",
						Source: "_rename_multiple = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename_multiple})",
						Start: ast.Position{
							Column: 6,
							Line:   61,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 22,
								Line:   61,
							},
							File:   "rename_multiple_test.flux",
							Source: "_rename_multiple",
							Start: ast.Position{
								Column: 6,
								Line:   61,
							},
						},
					},
					Name: "_rename_multiple",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 134,
								Line:   61,
							},
							File:   "rename_multiple_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename_multiple})",
							Start: ast.Position{
								Column: 25,
								Line:   61,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 134,
									Line:   61,
								},
								File:   "rename_multiple_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename_multiple})",
								Start: ast.Position{
									Column: 31,
									Line:   61,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 133,
										Line:   61,
									},
									File:   "rename_multiple_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename_multiple}",
									Start: ast.Position{
										Column: 32,
										Line:   61,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 72,
											Line:   61,
										},
										File:   "rename_multiple_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 33,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   61,
											},
											File:   "rename_multiple_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 33,
												Line:   61,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 71,
													Line:   61,
												},
												File:   "rename_multiple_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 60,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   61,
													},
													File:   "rename_multiple_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 60,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   61,
														},
														File:   "rename_multiple_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 60,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   61,
														},
														File:   "rename_multiple_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 65,
															Line:   61,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 72,
												Line:   61,
											},
											File:   "rename_multiple_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 40,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   61,
												},
												File:   "rename_multiple_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 40,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   61,
													},
													File:   "rename_multiple_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 40,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   61,
													},
													File:   "rename_multiple_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 48,
														Line:   61,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 109,
											Line:   61,
										},
										File:   "rename_multiple_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 74,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   61,
											},
											File:   "rename_multiple_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 74,
												Line:   61,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 108,
													Line:   61,
												},
												File:   "rename_multiple_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 96,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 108,
														Line:   61,
													},
													File:   "rename_multiple_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 96,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   61,
														},
														File:   "rename_multiple_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 96,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 108,
															Line:   61,
														},
														File:   "rename_multiple_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 101,
															Line:   61,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   61,
											},
											File:   "rename_multiple_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 80,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 95,
													Line:   61,
												},
												File:   "rename_multiple_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 80,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   61,
													},
													File:   "rename_multiple_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 80,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 95,
														Line:   61,
													},
													File:   "rename_multiple_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 88,
														Line:   61,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 132,
											Line:   61,
										},
										File:   "rename_multiple_test.flux",
										Source: "fn: t_rename_multiple",
										Start: ast.Position{
											Column: 111,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   61,
											},
											File:   "rename_multiple_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 111,
												Line:   61,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 132,
												Line:   61,
											},
											File:   "rename_multiple_test.flux",
											Source: "t_rename_multiple",
											Start: ast.Position{
												Column: 115,
												Line:   61,
											},
										},
									},
									Name: "t_rename_multiple",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 134,
						Line:   61,
					},
					File:   "rename_multiple_test.flux",
					Source: "test _rename_multiple = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename_multiple})",
					Start: ast.Position{
						Column: 1,
						Line:   61,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "rename_multiple_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "rename_multiple_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "rename_multiple_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "rename_multiple_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "rename_multiple_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   61,
				},
				File:   "rename_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,server\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\nt_rename = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {host: \"server\"})\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _rename = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "rename_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "rename_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "rename_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "rename_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "rename_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "rename_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "rename_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "rename_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "rename_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,server\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "rename_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "rename_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,server\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,server\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   59,
					},
					File:   "rename_test.flux",
					Source: "t_rename = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {host: \"server\"})\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   56,
						},
						File:   "rename_test.flux",
						Source: "t_rename",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "t_rename",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   59,
						},
						File:   "rename_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {host: \"server\"})\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 12,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 31,
											Line:   56,
										},
										File:   "rename_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 26,
											Line:   56,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   57,
									},
									File:   "rename_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 26,
										Line:   56,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   57,
											},
											File:   "rename_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   57,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   57,
												},
												File:   "rename_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   57,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   57,
													},
													File:   "rename_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   57,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   57,
													},
													File:   "rename_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   57,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   57,
										},
										File:   "rename_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   57,
											},
											File:   "rename_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   57,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   58,
								},
								File:   "rename_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {host: \"server\"})",
								Start: ast.Position{
									Column: 26,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   58,
										},
										File:   "rename_test.flux",
										Source: "columns: {host: \"server\"}",
										Start: ast.Position{
											Column: 15,
											Line:   58,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   58,
											},
											File:   "rename_test.flux",
											Source: "columns: {host: \"server\"}",
											Start: ast.Position{
												Column: 15,
												Line:   58,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 22,
													Line:   58,
												},
												File:   "rename_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 15,
													Line:   58,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   58,
												},
												File:   "rename_test.flux",
												Source: "{host: \"server\"}",
												Start: ast.Position{
													Column: 24,
													Line:   58,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   58,
													},
													File:   "rename_test.flux",
													Source: "host: \"server\"",
													Start: ast.Position{
														Column: 25,
														Line:   58,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 29,
															Line:   58,
														},
														File:   "rename_test.flux",
														Source: "host",
														Start: ast.Position{
															Column: 25,
															Line:   58,
														},
													},
												},
												Name: "host",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   58,
														},
														File:   "rename_test.flux",
														Source: "\"server\"",
														Start: ast.Position{
															Column: 31,
															Line:   58,
														},
													},
												},
												Value: "server",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   58,
									},
									File:   "rename_test.flux",
									Source: "rename(columns: {host: \"server\"})",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   58,
										},
										File:   "rename_test.flux",
										Source: "rename",
										Start: ast.Position{
											Column: 8,
											Line:   58,
										},
									},
								},
								Name: "rename",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   59,
							},
							File:   "rename_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> rename(columns: {host: \"server\"})\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 26,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   59,
									},
									File:   "rename_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   59,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   59,
										},
										File:   "rename_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   59,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   59,
											},
											File:   "rename_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   59,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   59,
											},
											File:   "rename_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   59,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   59,
												},
												File:   "rename_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   59,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   59,
												},
												File:   "rename_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   59,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   59,
								},
								File:   "rename_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   59,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   59,
									},
									File:   "rename_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   59,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   56,
							},
							File:   "rename_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   56,
								},
								File:   "rename_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   56,
							},
							File:   "rename_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   61,
						},
						File:   "rename_test.flux",
						Source: "_rename = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
						Start: ast.Position{
							Column: 6,
							Line:   61,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   61,
							},
							File:   "rename_test.flux",
							Source: "_rename",
							Start: ast.Position{
								Column: 6,
								Line:   61,
							},
						},
					},
					Name: "_rename",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   61,
							},
							File:   "rename_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
							Start: ast.Position{
								Column: 16,
								Line:   61,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   61,
								},
								File:   "rename_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
								Start: ast.Position{
									Column: 22,
									Line:   61,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   61,
									},
									File:   "rename_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename}",
									Start: ast.Position{
										Column: 23,
										Line:   61,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   61,
										},
										File:   "rename_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 24,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   61,
											},
											File:   "rename_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 24,
												Line:   61,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   61,
												},
												File:   "rename_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 51,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   61,
													},
													File:   "rename_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 51,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   61,
														},
														File:   "rename_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 51,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   61,
														},
														File:   "rename_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 56,
															Line:   61,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   61,
											},
											File:   "rename_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 31,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   61,
												},
												File:   "rename_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 31,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   61,
													},
													File:   "rename_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 31,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   61,
													},
													File:   "rename_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 39,
														Line:   61,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 100,
											Line:   61,
										},
										File:   "rename_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 65,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   61,
											},
											File:   "rename_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 65,
												Line:   61,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   61,
												},
												File:   "rename_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 87,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   61,
													},
													File:   "rename_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 87,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 90,
															Line:   61,
														},
														File:   "rename_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 87,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   61,
														},
														File:   "rename_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 92,
															Line:   61,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 100,
												Line:   61,
											},
											File:   "rename_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 71,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 86,
													Line:   61,
												},
												File:   "rename_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 71,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   61,
													},
													File:   "rename_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 71,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   61,
													},
													File:   "rename_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 79,
														Line:   61,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   61,
										},
										File:   "rename_test.flux",
										Source: "fn: t_rename",
										Start: ast.Position{
											Column: 102,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   61,
											},
											File:   "rename_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 102,
												Line:   61,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   61,
											},
											File:   "rename_test.flux",
											Source: "t_rename",
											Start: ast.Position{
												Column: 106,
												Line:   61,
											},
										},
									},
									Name: "t_rename",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   61,
					},
					File:   "rename_test.flux",
					Source: "test _rename = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_rename})",
					Start: ast.Position{
						Column: 1,
						Line:   61,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "rename_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "rename_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "rename_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "rename_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "rename_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 113,
					Line:   31,
				},
				File:   "rowfn_with_import_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"strings\"\nimport \"math\"\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:36Z,101I,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102I,load1,system,host.local\n\"\nt_row_fn = (table=<-) => table\n    |> filter(fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0))\n    |> map(fn: (r) => ({r with _value: string(v: r._value) + \"i\"}))\n    |> map(fn: (r) => ({r with _value: strings.toUpper(v: r._value)}))\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_row_fn})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   16,
					},
					File:   "rowfn_with_import_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   16,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,100,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,101,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102,load1,system,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   24,
					},
					File:   "rowfn_with_import_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:36Z,101I,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102I,load1,system,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   17,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   17,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   17,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   24,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:36Z,101I,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102I,load1,system,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   17,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:36Z,101I,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,102I,load1,system,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   29,
					},
					File:   "rowfn_with_import_test.flux",
					Source: "t_row_fn = (table=<-) => table\n    |> filter(fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0))\n    |> map(fn: (r) => ({r with _value: string(v: r._value) + \"i\"}))\n    |> map(fn: (r) => ({r with _value: strings.toUpper(v: r._value)}))\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   25,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   25,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "t_row_fn",
						Start: ast.Position{
							Column: 1,
							Line:   25,
						},
					},
				},
				Name: "t_row_fn",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   29,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "(table=<-) => table\n    |> filter(fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0))\n    |> map(fn: (r) => ({r with _value: string(v: r._value) + \"i\"}))\n    |> map(fn: (r) => ({r with _value: strings.toUpper(v: r._value)}))\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 12,
							Line:   25,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   25,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "table",
											Start: ast.Position{
												Column: 26,
												Line:   25,
											},
										},
									},
									Name: "table",
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 73,
											Line:   26,
										},
										File:   "rowfn_with_import_test.flux",
										Source: "table\n    |> filter(fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0))",
										Start: ast.Position{
											Column: 26,
											Line:   25,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 72,
													Line:   26,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0)",
												Start: ast.Position{
													Column: 15,
													Line:   26,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 72,
														Line:   26,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0)",
													Start: ast.Position{
														Column: 15,
														Line:   26,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   26,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 15,
															Line:   26,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   26,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "(r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0)",
														Start: ast.Position{
															Column: 19,
															Line:   26,
														},
													},
												},
												Body: &ast.BinaryExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 72,
																Line:   26,
															},
															File:   "rowfn_with_import_test.flux",
															Source: "float(v: r._value) > math.pow(x: 10.0, y: 2.0)",
															Start: ast.Position{
																Column: 26,
																Line:   26,
															},
														},
													},
													Left: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 43,
																		Line:   26,
																	},
																	File:   "rowfn_with_import_test.flux",
																	Source: "v: r._value",
																	Start: ast.Position{
																		Column: 32,
																		Line:   26,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 43,
																			Line:   26,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "v: r._value",
																		Start: ast.Position{
																			Column: 32,
																			Line:   26,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 33,
																				Line:   26,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "v",
																			Start: ast.Position{
																				Column: 32,
																				Line:   26,
																			},
																		},
																	},
																	Name: "v",
																},
																Separator: nil,
																Value: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 43,
																				Line:   26,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "r._value",
																			Start: ast.Position{
																				Column: 35,
																				Line:   26,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 36,
																					Line:   26,
																				},
																				File:   "rowfn_with_import_test.flux",
																				Source: "r",
																				Start: ast.Position{
																					Column: 35,
																					Line:   26,
																				},
																			},
																		},
																		Name: "r",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 43,
																					Line:   26,
																				},
																				File:   "rowfn_with_import_test.flux",
																				Source: "_value",
																				Start: ast.Position{
																					Column: 37,
																					Line:   26,
																				},
																			},
																		},
																		Name: "_value",
																	},
																	Rbrack: nil,
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   26,
																},
																File:   "rowfn_with_import_test.flux",
																Source: "float(v: r._value)",
																Start: ast.Position{
																	Column: 26,
																	Line:   26,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 31,
																		Line:   26,
																	},
																	File:   "rowfn_with_import_test.flux",
																	Source: "float",
																	Start: ast.Position{
																		Column: 26,
																		Line:   26,
																	},
																},
															},
															Name: "float",
														},
														Lparen: nil,
														Rparen: nil,
													},
													Operator: 10,
													Right: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 71,
																		Line:   26,
																	},
																	File:   "rowfn_with_import_test.flux",
																	Source: "x: 10.0, y: 2.0",
																	Start: ast.Position{
																		Column: 56,
																		Line:   26,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 63,
																			Line:   26,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "x: 10.0",
																		Start: ast.Position{
																			Column: 56,
																			Line:   26,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 57,
																				Line:   26,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "x",
																			Start: ast.Position{
																				Column: 56,
																				Line:   26,
																			},
																		},
																	},
																	Name: "x",
																},
																Separator: nil,
																Value: &ast.FloatLiteral{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 63,
																				Line:   26,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "10.0",
																			Start: ast.Position{
																				Column: 59,
																				Line:   26,
																			},
																		},
																	},
																	Value: 10.0,
																},
															}, &ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 71,
																			Line:   26,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "y: 2.0",
																		Start: ast.Position{
																			Column: 65,
																			Line:   26,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 66,
																				Line:   26,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "y",
																			Start: ast.Position{
																				Column: 65,
																				Line:   26,
																			},
																		},
																	},
																	Name: "y",
																},
																Separator: nil,
																Value: &ast.FloatLiteral{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 71,
																				Line:   26,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "2.0",
																			Start: ast.Position{
																				Column: 68,
																				Line:   26,
																			},
																		},
																	},
																	Value: 2.0,
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 72,
																	Line:   26,
																},
																File:   "rowfn_with_import_test.flux",
																Source: "math.pow(x: 10.0, y: 2.0)",
																Start: ast.Position{
																	Column: 47,
																	Line:   26,
																},
															},
														},
														Callee: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 55,
																		Line:   26,
																	},
																	File:   "rowfn_with_import_test.flux",
																	Source: "math.pow",
																	Start: ast.Position{
																		Column: 47,
																		Line:   26,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 51,
																			Line:   26,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "math",
																		Start: ast.Position{
																			Column: 47,
																			Line:   26,
																		},
																	},
																},
																Name: "math",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 55,
																			Line:   26,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "pow",
																		Start: ast.Position{
																			Column: 52,
																			Line:   26,
																		},
																	},
																},
																Name: "pow",
															},
															Rbrack: nil,
														},
														Lparen: nil,
														Rparen: nil,
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   26,
															},
															File:   "rowfn_with_import_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 20,
																Line:   26,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 21,
																	Line:   26,
																},
																File:   "rowfn_with_import_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 20,
																	Line:   26,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   26,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "filter(fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0))",
											Start: ast.Position{
												Column: 8,
												Line:   26,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   26,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 8,
													Line:   26,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 68,
										Line:   27,
									},
									File:   "rowfn_with_import_test.flux",
									Source: "table\n    |> filter(fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0))\n    |> map(fn: (r) => ({r with _value: string(v: r._value) + \"i\"}))",
									Start: ast.Position{
										Column: 26,
										Line:   25,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   27,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "fn: (r) => ({r with _value: string(v: r._value) + \"i\"})",
											Start: ast.Position{
												Column: 12,
												Line:   27,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   27,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "fn: (r) => ({r with _value: string(v: r._value) + \"i\"})",
												Start: ast.Position{
													Column: 12,
													Line:   27,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 14,
														Line:   27,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "fn",
													Start: ast.Position{
														Column: 12,
														Line:   27,
													},
												},
											},
											Name: "fn",
										},
										Separator: nil,
										Value: &ast.FunctionExpression{
											Arrow: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   27,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "(r) => ({r with _value: string(v: r._value) + \"i\"})",
													Start: ast.Position{
														Column: 16,
														Line:   27,
													},
												},
											},
											Body: &ast.ParenExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   27,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "({r with _value: string(v: r._value) + \"i\"})",
														Start: ast.Position{
															Column: 23,
															Line:   27,
														},
													},
												},
												Expression: &ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 66,
																Line:   27,
															},
															File:   "rowfn_with_import_test.flux",
															Source: "{r with _value: string(v: r._value) + \"i\"}",
															Start: ast.Position{
																Column: 24,
																Line:   27,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 65,
																	Line:   27,
																},
																File:   "rowfn_with_import_test.flux",
																Source: "_value: string(v: r._value) + \"i\"",
																Start: ast.Position{
																	Column: 32,
																	Line:   27,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 38,
																		Line:   27,
																	},
																	File:   "rowfn_with_import_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 32,
																		Line:   27,
																	},
																},
															},
															Name: "_value",
														},
														Separator: nil,
														Value: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 65,
																		Line:   27,
																	},
																	File:   "rowfn_with_import_test.flux",
																	Source: "string(v: r._value) + \"i\"",
																	Start: ast.Position{
																		Column: 40,
																		Line:   27,
																	},
																},
															},
															Left: &ast.CallExpression{
																Arguments: []ast.Expression{&ast.ObjectExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 58,
																				Line:   27,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "v: r._value",
																			Start: ast.Position{
																				Column: 47,
																				Line:   27,
																			},
																		},
																	},
																	Lbrace: nil,
																	Properties: []*ast.Property{&ast.Property{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 58,
																					Line:   27,
																				},
																				File:   "rowfn_with_import_test.flux",
																				Source: "v: r._value",
																				Start: ast.Position{
																					Column: 47,
																					Line:   27,
																				},
																			},
																		},
																		Comma: nil,
																		Key: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 48,
																						Line:   27,
																					},
																					File:   "rowfn_with_import_test.flux",
																					Source: "v",
																					Start: ast.Position{
																						Column: 47,
																						Line:   27,
																					},
																				},
																			},
																			Name: "v",
																		},
																		Separator: nil,
																		Value: &ast.MemberExpression{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 58,
																						Line:   27,
																					},
																					File:   "rowfn_with_import_test.flux",
																					Source: "r._value",
																					Start: ast.Position{
																						Column: 50,
																						Line:   27,
																					},
																				},
																			},
																			Lbrack: nil,
																			Object: &ast.Identifier{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 51,
																							Line:   27,
																						},
																						File:   "rowfn_with_import_test.flux",
																						Source: "r",
																						Start: ast.Position{
																							Column: 50,
																							Line:   27,
																						},
																					},
																				},
																				Name: "r",
																			},
																			Property: &ast.Identifier{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 58,
																							Line:   27,
																						},
																						File:   "rowfn_with_import_test.flux",
																						Source: "_value",
																						Start: ast.Position{
																							Column: 52,
																							Line:   27,
																						},
																					},
																				},
																				Name: "_value",
																			},
																			Rbrack: nil,
																		},
																	}},
																	Rbrace: nil,
																	With:   nil,
																}},
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 59,
																			Line:   27,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "string(v: r._value)",
																		Start: ast.Position{
																			Column: 40,
																			Line:   27,
																		},
																	},
																},
																Callee: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 46,
																				Line:   27,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "string",
																			Start: ast.Position{
																				Column: 40,
																				Line:   27,
																			},
																		},
																	},
																	Name: "string",
																},
																Lparen: nil,
																Rparen: nil,
															},
															Operator: 5,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 65,
																			Line:   27,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "\"i\"",
																		Start: ast.Position{
																			Column: 62,
																			Line:   27,
																		},
																	},
																},
																Value: "i",
															},
														},
													}},
													Rbrace: nil,
													With: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 26,
																	Line:   27,
																},
																File:   "rowfn_with_import_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 25,
																	Line:   27,
																},
															},
														},
														Name: "r",
													},
												},
												Lparen: nil,
												Rparen: nil,
											},
											Lparen: nil,
											Params: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   27,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 17,
															Line:   27,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 18,
																Line:   27,
															},
															File:   "rowfn_with_import_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 17,
																Line:   27,
															},
														},
													},
													Name: "r",
												},
												Separator: nil,
												Value:     nil,
											}},
											Rparan: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   27,
										},
										File:   "rowfn_with_import_test.flux",
										Source: "map(fn: (r) => ({r with _value: string(v: r._value) + \"i\"}))",
										Start: ast.Position{
											Column: 8,
											Line:   27,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   27,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "map",
											Start: ast.Position{
												Column: 8,
												Line:   27,
											},
										},
									},
									Name: "map",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 71,
									Line:   28,
								},
								File:   "rowfn_with_import_test.flux",
								Source: "table\n    |> filter(fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0))\n    |> map(fn: (r) => ({r with _value: string(v: r._value) + \"i\"}))\n    |> map(fn: (r) => ({r with _value: strings.toUpper(v: r._value)}))",
								Start: ast.Position{
									Column: 26,
									Line:   25,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   28,
										},
										File:   "rowfn_with_import_test.flux",
										Source: "fn: (r) => ({r with _value: strings.toUpper(v: r._value)})",
										Start: ast.Position{
											Column: 12,
											Line:   28,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   28,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "fn: (r) => ({r with _value: strings.toUpper(v: r._value)})",
											Start: ast.Position{
												Column: 12,
												Line:   28,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   28,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 12,
													Line:   28,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   28,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "(r) => ({r with _value: strings.toUpper(v: r._value)})",
												Start: ast.Position{
													Column: 16,
													Line:   28,
												},
											},
										},
										Body: &ast.ParenExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   28,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "({r with _value: strings.toUpper(v: r._value)})",
													Start: ast.Position{
														Column: 23,
														Line:   28,
													},
												},
											},
											Expression: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   28,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "{r with _value: strings.toUpper(v: r._value)}",
														Start: ast.Position{
															Column: 24,
															Line:   28,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 68,
																Line:   28,
															},
															File:   "rowfn_with_import_test.flux",
															Source: "_value: strings.toUpper(v: r._value)",
															Start: ast.Position{
																Column: 32,
																Line:   28,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   28,
																},
																File:   "rowfn_with_import_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 32,
																	Line:   28,
																},
															},
														},
														Name: "_value",
													},
													Separator: nil,
													Value: &ast.CallExpression{
														Arguments: []ast.Expression{&ast.ObjectExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 67,
																		Line:   28,
																	},
																	File:   "rowfn_with_import_test.flux",
																	Source: "v: r._value",
																	Start: ast.Position{
																		Column: 56,
																		Line:   28,
																	},
																},
															},
															Lbrace: nil,
															Properties: []*ast.Property{&ast.Property{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 67,
																			Line:   28,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "v: r._value",
																		Start: ast.Position{
																			Column: 56,
																			Line:   28,
																		},
																	},
																},
																Comma: nil,
																Key: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 57,
																				Line:   28,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "v",
																			Start: ast.Position{
																				Column: 56,
																				Line:   28,
																			},
																		},
																	},
																	Name: "v",
																},
																Separator: nil,
																Value: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 67,
																				Line:   28,
																			},
																			File:   "rowfn_with_import_test.flux",
																			Source: "r._value",
																			Start: ast.Position{
																				Column: 59,
																				Line:   28,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 60,
																					Line:   28,
																				},
																				File:   "rowfn_with_import_test.flux",
																				Source: "r",
																				Start: ast.Position{
																					Column: 59,
																					Line:   28,
																				},
																			},
																		},
																		Name: "r",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 67,
																					Line:   28,
																				},
																				File:   "rowfn_with_import_test.flux",
																				Source: "_value",
																				Start: ast.Position{
																					Column: 61,
																					Line:   28,
																				},
																			},
																		},
																		Name: "_value",
																	},
																	Rbrack: nil,
																},
															}},
															Rbrace: nil,
															With:   nil,
														}},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 68,
																	Line:   28,
																},
																File:   "rowfn_with_import_test.flux",
																Source: "strings.toUpper(v: r._value)",
																Start: ast.Position{
																	Column: 40,
																	Line:   28,
																},
															},
														},
														Callee: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 55,
																		Line:   28,
																	},
																	File:   "rowfn_with_import_test.flux",
																	Source: "strings.toUpper",
																	Start: ast.Position{
																		Column: 40,
																		Line:   28,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 47,
																			Line:   28,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "strings",
																		Start: ast.Position{
																			Column: 40,
																			Line:   28,
																		},
																	},
																},
																Name: "strings",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 55,
																			Line:   28,
																		},
																		File:   "rowfn_with_import_test.flux",
																		Source: "toUpper",
																		Start: ast.Position{
																			Column: 48,
																			Line:   28,
																		},
																	},
																},
																Name: "toUpper",
															},
															Rbrack: nil,
														},
														Lparen: nil,
														Rparen: nil,
													},
												}},
												Rbrace: nil,
												With: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   28,
															},
															File:   "rowfn_with_import_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 25,
																Line:   28,
															},
														},
													},
													Name: "r",
												},
											},
											Lparen: nil,
											Rparen: nil,
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   28,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   28,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   28,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 17,
															Line:   28,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 71,
										Line:   28,
									},
									File:   "rowfn_with_import_test.flux",
									Source: "map(fn: (r) => ({r with _value: strings.toUpper(v: r._value)}))",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   28,
										},
										File:   "rowfn_with_import_test.flux",
										Source: "map",
										Start: ast.Position{
											Column: 8,
											Line:   28,
										},
									},
								},
								Name: "map",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   29,
							},
							File:   "rowfn_with_import_test.flux",
							Source: "table\n    |> filter(fn: (r) => float(v: r._value) > math.pow(x: 10.0, y: 2.0))\n    |> map(fn: (r) => ({r with _value: string(v: r._value) + \"i\"}))\n    |> map(fn: (r) => ({r with _value: strings.toUpper(v: r._value)}))\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 26,
								Line:   25,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   29,
									},
									File:   "rowfn_with_import_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   29,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   29,
										},
										File:   "rowfn_with_import_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   29,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   29,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   29,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   29,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   29,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   29,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   29,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   29,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   29,
								},
								File:   "rowfn_with_import_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   29,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   29,
									},
									File:   "rowfn_with_import_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   29,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   25,
							},
							File:   "rowfn_with_import_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   25,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   25,
								},
								File:   "rowfn_with_import_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   25,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   25,
							},
							File:   "rowfn_with_import_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   25,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 113,
							Line:   31,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_row_fn})",
						Start: ast.Position{
							Column: 6,
							Line:   31,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   31,
							},
							File:   "rowfn_with_import_test.flux",
							Source: "_map",
							Start: ast.Position{
								Column: 6,
								Line:   31,
							},
						},
					},
					Name: "_map",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 113,
								Line:   31,
							},
							File:   "rowfn_with_import_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_row_fn})",
							Start: ast.Position{
								Column: 13,
								Line:   31,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 113,
									Line:   31,
								},
								File:   "rowfn_with_import_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_row_fn})",
								Start: ast.Position{
									Column: 19,
									Line:   31,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 112,
										Line:   31,
									},
									File:   "rowfn_with_import_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_row_fn}",
									Start: ast.Position{
										Column: 20,
										Line:   31,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   31,
										},
										File:   "rowfn_with_import_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   31,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   31,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   31,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   31,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   31,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   31,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   31,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   31,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   31,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   31,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   31,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   31,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   31,
										},
										File:   "rowfn_with_import_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   31,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   31,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   31,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   31,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   31,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   31,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   31,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   31,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   31,
														},
														File:   "rowfn_with_import_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   31,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   31,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   31,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   31,
												},
												File:   "rowfn_with_import_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   31,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   31,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   31,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   31,
													},
													File:   "rowfn_with_import_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   31,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   31,
										},
										File:   "rowfn_with_import_test.flux",
										Source: "fn: t_row_fn",
										Start: ast.Position{
											Column: 99,
											Line:   31,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   31,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   31,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   31,
											},
											File:   "rowfn_with_import_test.flux",
											Source: "t_row_fn",
											Start: ast.Position{
												Column: 103,
												Line:   31,
											},
										},
									},
									Name: "t_row_fn",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 113,
						Line:   31,
					},
					File:   "rowfn_with_import_test.flux",
					Source: "test _map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_row_fn})",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "rowfn_with_import_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   5,
					},
					File:   "rowfn_with_import_test.flux",
					Source: "import \"strings\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   5,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "\"strings\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "strings",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   6,
					},
					File:   "rowfn_with_import_test.flux",
					Source: "import \"math\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   6,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "\"math\"",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				Value: "math",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "rowfn_with_import_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "rowfn_with_import_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "rowfn_with_import_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   60,
				},
				File:   "sample_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,0,2018-05-22T19:54:18Z,1.85,load1,system,host.local\n,,0,2018-05-22T19:54:21Z,1.86,load1,system,host.local\n,,0,2018-05-22T19:54:22Z,1.87,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:21Z,1.86,load1,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n\"\nt_sample = (table=<-) => table\n    |> sample(n: 3, pos: 1)\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _sample = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sample})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "sample_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "sample_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "sample_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "sample_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "sample_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   40,
					},
					File:   "sample_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,0,2018-05-22T19:54:18Z,1.85,load1,system,host.local\n,,0,2018-05-22T19:54:21Z,1.86,load1,system,host.local\n,,0,2018-05-22T19:54:22Z,1.87,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "sample_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   40,
						},
						File:   "sample_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,0,2018-05-22T19:54:18Z,1.85,load1,system,host.local\n,,0,2018-05-22T19:54:21Z,1.86,load1,system,host.local\n,,0,2018-05-22T19:54:22Z,1.87,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,0,2018-05-22T19:54:18Z,1.85,load1,system,host.local\n,,0,2018-05-22T19:54:21Z,1.86,load1,system,host.local\n,,0,2018-05-22T19:54:22Z,1.87,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   55,
					},
					File:   "sample_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:21Z,1.86,load1,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   41,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   41,
						},
						File:   "sample_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   41,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   55,
						},
						File:   "sample_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:21Z,1.86,load1,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   41,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:21Z,1.86,load1,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   58,
					},
					File:   "sample_test.flux",
					Source: "t_sample = (table=<-) => table\n    |> sample(n: 3, pos: 1)\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   56,
						},
						File:   "sample_test.flux",
						Source: "t_sample",
						Start: ast.Position{
							Column: 1,
							Line:   56,
						},
					},
				},
				Name: "t_sample",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   58,
						},
						File:   "sample_test.flux",
						Source: "(table=<-) => table\n    |> sample(n: 3, pos: 1)\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 12,
							Line:   56,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 31,
										Line:   56,
									},
									File:   "sample_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 26,
										Line:   56,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   57,
								},
								File:   "sample_test.flux",
								Source: "table\n    |> sample(n: 3, pos: 1)",
								Start: ast.Position{
									Column: 26,
									Line:   56,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 27,
											Line:   57,
										},
										File:   "sample_test.flux",
										Source: "n: 3, pos: 1",
										Start: ast.Position{
											Column: 15,
											Line:   57,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   57,
											},
											File:   "sample_test.flux",
											Source: "n: 3",
											Start: ast.Position{
												Column: 15,
												Line:   57,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 16,
													Line:   57,
												},
												File:   "sample_test.flux",
												Source: "n",
												Start: ast.Position{
													Column: 15,
													Line:   57,
												},
											},
										},
										Name: "n",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   57,
												},
												File:   "sample_test.flux",
												Source: "3",
												Start: ast.Position{
													Column: 18,
													Line:   57,
												},
											},
										},
										Value: int64(3),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   57,
											},
											File:   "sample_test.flux",
											Source: "pos: 1",
											Start: ast.Position{
												Column: 21,
												Line:   57,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   57,
												},
												File:   "sample_test.flux",
												Source: "pos",
												Start: ast.Position{
													Column: 21,
													Line:   57,
												},
											},
										},
										Name: "pos",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 27,
													Line:   57,
												},
												File:   "sample_test.flux",
												Source: "1",
												Start: ast.Position{
													Column: 26,
													Line:   57,
												},
											},
										},
										Value: int64(1),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   57,
									},
									File:   "sample_test.flux",
									Source: "sample(n: 3, pos: 1)",
									Start: ast.Position{
										Column: 8,
										Line:   57,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   57,
										},
										File:   "sample_test.flux",
										Source: "sample",
										Start: ast.Position{
											Column: 8,
											Line:   57,
										},
									},
								},
								Name: "sample",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   58,
							},
							File:   "sample_test.flux",
							Source: "table\n    |> sample(n: 3, pos: 1)\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 26,
								Line:   56,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   58,
									},
									File:   "sample_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   58,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   58,
										},
										File:   "sample_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   58,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   58,
											},
											File:   "sample_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   58,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   58,
											},
											File:   "sample_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   58,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   58,
												},
												File:   "sample_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   58,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   58,
												},
												File:   "sample_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   58,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   58,
								},
								File:   "sample_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   58,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   58,
									},
									File:   "sample_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   58,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   56,
							},
							File:   "sample_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   56,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   56,
								},
								File:   "sample_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   56,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   56,
							},
							File:   "sample_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   56,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   60,
						},
						File:   "sample_test.flux",
						Source: "_sample = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sample})",
						Start: ast.Position{
							Column: 6,
							Line:   60,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   60,
							},
							File:   "sample_test.flux",
							Source: "_sample",
							Start: ast.Position{
								Column: 6,
								Line:   60,
							},
						},
					},
					Name: "_sample",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   60,
							},
							File:   "sample_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sample})",
							Start: ast.Position{
								Column: 16,
								Line:   60,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   60,
								},
								File:   "sample_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sample})",
								Start: ast.Position{
									Column: 22,
									Line:   60,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   60,
									},
									File:   "sample_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sample}",
									Start: ast.Position{
										Column: 23,
										Line:   60,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   60,
										},
										File:   "sample_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 24,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   60,
											},
											File:   "sample_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 24,
												Line:   60,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   60,
												},
												File:   "sample_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 51,
													Line:   60,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   60,
													},
													File:   "sample_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 51,
														Line:   60,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   60,
														},
														File:   "sample_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 51,
															Line:   60,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   60,
														},
														File:   "sample_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 56,
															Line:   60,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   60,
											},
											File:   "sample_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 31,
												Line:   60,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   60,
												},
												File:   "sample_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 31,
													Line:   60,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   60,
													},
													File:   "sample_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 31,
														Line:   60,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   60,
													},
													File:   "sample_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 39,
														Line:   60,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 100,
											Line:   60,
										},
										File:   "sample_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 65,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   60,
											},
											File:   "sample_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 65,
												Line:   60,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   60,
												},
												File:   "sample_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 87,
													Line:   60,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   60,
													},
													File:   "sample_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 87,
														Line:   60,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 90,
															Line:   60,
														},
														File:   "sample_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 87,
															Line:   60,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   60,
														},
														File:   "sample_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 92,
															Line:   60,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 100,
												Line:   60,
											},
											File:   "sample_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 71,
												Line:   60,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 86,
													Line:   60,
												},
												File:   "sample_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 71,
													Line:   60,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   60,
													},
													File:   "sample_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 71,
														Line:   60,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   60,
													},
													File:   "sample_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 79,
														Line:   60,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   60,
										},
										File:   "sample_test.flux",
										Source: "fn: t_sample",
										Start: ast.Position{
											Column: 102,
											Line:   60,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   60,
											},
											File:   "sample_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 102,
												Line:   60,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   60,
											},
											File:   "sample_test.flux",
											Source: "t_sample",
											Start: ast.Position{
												Column: 106,
												Line:   60,
											},
										},
									},
									Name: "t_sample",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   60,
					},
					File:   "sample_test.flux",
					Source: "test _sample = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sample})",
					Start: ast.Position{
						Column: 1,
						Line:   60,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "sample_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "sample_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "sample_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "sample_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "sample_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 148,
					Line:   34,
				},
				File:   "selector_preserve_time_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host1\n,,0,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host2\n,,0,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host3\n,,0,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host4\n,,0,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host5\n,,0,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host5\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,false,false,false,false,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host2\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host3\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host5\n\"\nt_selector_preserve_time = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> top(n: 3)\n    |> group(columns: [\"host\"])\n\ntest _selector_preserve_time = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_selector_preserve_time})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "selector_preserve_time_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "selector_preserve_time_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "selector_preserve_time_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "selector_preserve_time_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "selector_preserve_time_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host1\n,,0,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host2\n,,0,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host3\n,,0,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host4\n,,0,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host5\n,,0,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host5\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host1\n,,0,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host2\n,,0,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host3\n,,0,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host4\n,,0,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host5\n,,0,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host5\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,false\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host1\n,,0,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host2\n,,0,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host3\n,,0,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host4\n,,0,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host5\n,,0,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host5\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   28,
					},
					File:   "selector_preserve_time_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,false,false,false,false,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host2\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host3\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host5\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   28,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,false,false,false,false,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host2\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host3\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host5\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,false,false,false,false,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host2\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host3\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host5\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 32,
						Line:   32,
					},
					File:   "selector_preserve_time_test.flux",
					Source: "t_selector_preserve_time = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> top(n: 3)\n    |> group(columns: [\"host\"])",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   29,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "t_selector_preserve_time",
						Start: ast.Position{
							Column: 1,
							Line:   29,
						},
					},
				},
				Name: "t_selector_preserve_time",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 32,
							Line:   32,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> top(n: 3)\n    |> group(columns: [\"host\"])",
						Start: ast.Position{
							Column: 28,
							Line:   29,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 47,
											Line:   29,
										},
										File:   "selector_preserve_time_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 42,
											Line:   29,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   30,
									},
									File:   "selector_preserve_time_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 42,
										Line:   29,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   30,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   30,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   30,
												},
												File:   "selector_preserve_time_test.flux",
												Source: "start: 2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 14,
													Line:   30,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   30,
													},
													File:   "selector_preserve_time_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   30,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   30,
													},
													File:   "selector_preserve_time_test.flux",
													Source: "2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 21,
														Line:   30,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   30,
										},
										File:   "selector_preserve_time_test.flux",
										Source: "range(start: 2018-05-22T19:53:26Z)",
										Start: ast.Position{
											Column: 8,
											Line:   30,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   30,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   30,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   31,
								},
								File:   "selector_preserve_time_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> top(n: 3)",
								Start: ast.Position{
									Column: 42,
									Line:   29,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   31,
										},
										File:   "selector_preserve_time_test.flux",
										Source: "n: 3",
										Start: ast.Position{
											Column: 12,
											Line:   31,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   31,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "n: 3",
											Start: ast.Position{
												Column: 12,
												Line:   31,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 13,
													Line:   31,
												},
												File:   "selector_preserve_time_test.flux",
												Source: "n",
												Start: ast.Position{
													Column: 12,
													Line:   31,
												},
											},
										},
										Name: "n",
									},
									Separator: nil,
									Value: &ast.IntegerLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 16,
													Line:   31,
												},
												File:   "selector_preserve_time_test.flux",
												Source: "3",
												Start: ast.Position{
													Column: 15,
													Line:   31,
												},
											},
										},
										Value: int64(3),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   31,
									},
									File:   "selector_preserve_time_test.flux",
									Source: "top(n: 3)",
									Start: ast.Position{
										Column: 8,
										Line:   31,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 11,
											Line:   31,
										},
										File:   "selector_preserve_time_test.flux",
										Source: "top",
										Start: ast.Position{
											Column: 8,
											Line:   31,
										},
									},
								},
								Name: "top",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   32,
							},
							File:   "selector_preserve_time_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> top(n: 3)\n    |> group(columns: [\"host\"])",
							Start: ast.Position{
								Column: 42,
								Line:   29,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 31,
										Line:   32,
									},
									File:   "selector_preserve_time_test.flux",
									Source: "columns: [\"host\"]",
									Start: ast.Position{
										Column: 14,
										Line:   32,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 31,
											Line:   32,
										},
										File:   "selector_preserve_time_test.flux",
										Source: "columns: [\"host\"]",
										Start: ast.Position{
											Column: 14,
											Line:   32,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   32,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 14,
												Line:   32,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   32,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "[\"host\"]",
											Start: ast.Position{
												Column: 23,
												Line:   32,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 30,
													Line:   32,
												},
												File:   "selector_preserve_time_test.flux",
												Source: "\"host\"",
												Start: ast.Position{
													Column: 24,
													Line:   32,
												},
											},
										},
										Value: "host",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 32,
									Line:   32,
								},
								File:   "selector_preserve_time_test.flux",
								Source: "group(columns: [\"host\"])",
								Start: ast.Position{
									Column: 8,
									Line:   32,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   32,
									},
									File:   "selector_preserve_time_test.flux",
									Source: "group",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Name: "group",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 37,
								Line:   29,
							},
							File:   "selector_preserve_time_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 29,
								Line:   29,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 34,
									Line:   29,
								},
								File:   "selector_preserve_time_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 29,
									Line:   29,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 37,
								Line:   29,
							},
							File:   "selector_preserve_time_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 35,
								Line:   29,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 148,
							Line:   34,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "_selector_preserve_time = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_selector_preserve_time})",
						Start: ast.Position{
							Column: 6,
							Line:   34,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   34,
							},
							File:   "selector_preserve_time_test.flux",
							Source: "_selector_preserve_time",
							Start: ast.Position{
								Column: 6,
								Line:   34,
							},
						},
					},
					Name: "_selector_preserve_time",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 148,
								Line:   34,
							},
							File:   "selector_preserve_time_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_selector_preserve_time})",
							Start: ast.Position{
								Column: 32,
								Line:   34,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 148,
									Line:   34,
								},
								File:   "selector_preserve_time_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_selector_preserve_time})",
								Start: ast.Position{
									Column: 38,
									Line:   34,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 147,
										Line:   34,
									},
									File:   "selector_preserve_time_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_selector_preserve_time}",
									Start: ast.Position{
										Column: 39,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 79,
											Line:   34,
										},
										File:   "selector_preserve_time_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 40,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   34,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 40,
												Line:   34,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 78,
													Line:   34,
												},
												File:   "selector_preserve_time_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 67,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   34,
													},
													File:   "selector_preserve_time_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 67,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   34,
														},
														File:   "selector_preserve_time_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 67,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 78,
															Line:   34,
														},
														File:   "selector_preserve_time_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 72,
															Line:   34,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 79,
												Line:   34,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 47,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   34,
												},
												File:   "selector_preserve_time_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 47,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   34,
													},
													File:   "selector_preserve_time_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 47,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   34,
													},
													File:   "selector_preserve_time_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 55,
														Line:   34,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 116,
											Line:   34,
										},
										File:   "selector_preserve_time_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 81,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 85,
												Line:   34,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 81,
												Line:   34,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 115,
													Line:   34,
												},
												File:   "selector_preserve_time_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 103,
													Line:   34,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 115,
														Line:   34,
													},
													File:   "selector_preserve_time_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 103,
														Line:   34,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   34,
														},
														File:   "selector_preserve_time_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 103,
															Line:   34,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 115,
															Line:   34,
														},
														File:   "selector_preserve_time_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 108,
															Line:   34,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   34,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 87,
												Line:   34,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 102,
													Line:   34,
												},
												File:   "selector_preserve_time_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 87,
													Line:   34,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   34,
													},
													File:   "selector_preserve_time_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 87,
														Line:   34,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 102,
														Line:   34,
													},
													File:   "selector_preserve_time_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 95,
														Line:   34,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 146,
											Line:   34,
										},
										File:   "selector_preserve_time_test.flux",
										Source: "fn: t_selector_preserve_time",
										Start: ast.Position{
											Column: 118,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   34,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 118,
												Line:   34,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 146,
												Line:   34,
											},
											File:   "selector_preserve_time_test.flux",
											Source: "t_selector_preserve_time",
											Start: ast.Position{
												Column: 122,
												Line:   34,
											},
										},
									},
									Name: "t_selector_preserve_time",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 148,
						Line:   34,
					},
					File:   "selector_preserve_time_test.flux",
					Source: "test _selector_preserve_time = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_selector_preserve_time})",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "selector_preserve_time_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "selector_preserve_time_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "selector_preserve_time_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "selector_preserve_time_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   180,
				},
				File:   "set_new_column_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10,server01\n\"\nt_set_new_column = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> set(key: \"t1\", value: \"server01\")\n\ntest _set_new_column = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set_new_column})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "set_new_column_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "set_new_column_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "set_new_column_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "set_new_column_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "set_new_column_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   93,
					},
					File:   "set_new_column_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "set_new_column_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   93,
						},
						File:   "set_new_column_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   175,
					},
					File:   "set_new_column_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10,server01\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   94,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   94,
						},
						File:   "set_new_column_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   94,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   175,
						},
						File:   "set_new_column_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10,server01\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   94,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true,server01\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true,server01\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995,server01\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116,server01\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14,server01\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18,server01\n,,5,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08,server01\n,,6,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2,server01\n,,7,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB,server01\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong,string\n#group,false,false,true,true,true,true,true,false,false,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value,t1\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22,server01\n,,8,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96,server01\n,,9,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10,server01\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 41,
						Line:   178,
					},
					File:   "set_new_column_test.flux",
					Source: "t_set_new_column = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> set(key: \"t1\", value: \"server01\")",
					Start: ast.Position{
						Column: 1,
						Line:   176,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   176,
						},
						File:   "set_new_column_test.flux",
						Source: "t_set_new_column",
						Start: ast.Position{
							Column: 1,
							Line:   176,
						},
					},
				},
				Name: "t_set_new_column",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 41,
							Line:   178,
						},
						File:   "set_new_column_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> set(key: \"t1\", value: \"server01\")",
						Start: ast.Position{
							Column: 20,
							Line:   176,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   176,
									},
									File:   "set_new_column_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   176,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   177,
								},
								File:   "set_new_column_test.flux",
								Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)",
								Start: ast.Position{
									Column: 34,
									Line:   176,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   177,
										},
										File:   "set_new_column_test.flux",
										Source: "start: 2018-01-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   177,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   177,
											},
											File:   "set_new_column_test.flux",
											Source: "start: 2018-01-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   177,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   177,
												},
												File:   "set_new_column_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   177,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   177,
												},
												File:   "set_new_column_test.flux",
												Source: "2018-01-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   177,
												},
											},
										},
										Value: parser.MustParseTime("2018-01-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   177,
									},
									File:   "set_new_column_test.flux",
									Source: "range(start: 2018-01-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   177,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   177,
										},
										File:   "set_new_column_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   177,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 41,
								Line:   178,
							},
							File:   "set_new_column_test.flux",
							Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> set(key: \"t1\", value: \"server01\")",
							Start: ast.Position{
								Column: 34,
								Line:   176,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 40,
										Line:   178,
									},
									File:   "set_new_column_test.flux",
									Source: "key: \"t1\", value: \"server01\"",
									Start: ast.Position{
										Column: 12,
										Line:   178,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 21,
											Line:   178,
										},
										File:   "set_new_column_test.flux",
										Source: "key: \"t1\"",
										Start: ast.Position{
											Column: 12,
											Line:   178,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 15,
												Line:   178,
											},
											File:   "set_new_column_test.flux",
											Source: "key",
											Start: ast.Position{
												Column: 12,
												Line:   178,
											},
										},
									},
									Name: "key",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   178,
											},
											File:   "set_new_column_test.flux",
											Source: "\"t1\"",
											Start: ast.Position{
												Column: 17,
												Line:   178,
											},
										},
									},
									Value: "t1",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   178,
										},
										File:   "set_new_column_test.flux",
										Source: "value: \"server01\"",
										Start: ast.Position{
											Column: 23,
											Line:   178,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   178,
											},
											File:   "set_new_column_test.flux",
											Source: "value",
											Start: ast.Position{
												Column: 23,
												Line:   178,
											},
										},
									},
									Name: "value",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   178,
											},
											File:   "set_new_column_test.flux",
											Source: "\"server01\"",
											Start: ast.Position{
												Column: 30,
												Line:   178,
											},
										},
									},
									Value: "server01",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   178,
								},
								File:   "set_new_column_test.flux",
								Source: "set(key: \"t1\", value: \"server01\")",
								Start: ast.Position{
									Column: 8,
									Line:   178,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   178,
									},
									File:   "set_new_column_test.flux",
									Source: "set",
									Start: ast.Position{
										Column: 8,
										Line:   178,
									},
								},
							},
							Name: "set",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   176,
							},
							File:   "set_new_column_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   176,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   176,
								},
								File:   "set_new_column_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   176,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   176,
							},
							File:   "set_new_column_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   176,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   180,
						},
						File:   "set_new_column_test.flux",
						Source: "_set_new_column = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set_new_column})",
						Start: ast.Position{
							Column: 6,
							Line:   180,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   180,
							},
							File:   "set_new_column_test.flux",
							Source: "_set_new_column",
							Start: ast.Position{
								Column: 6,
								Line:   180,
							},
						},
					},
					Name: "_set_new_column",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   180,
							},
							File:   "set_new_column_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set_new_column})",
							Start: ast.Position{
								Column: 24,
								Line:   180,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   180,
								},
								File:   "set_new_column_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set_new_column})",
								Start: ast.Position{
									Column: 30,
									Line:   180,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   180,
									},
									File:   "set_new_column_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set_new_column}",
									Start: ast.Position{
										Column: 31,
										Line:   180,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   180,
										},
										File:   "set_new_column_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   180,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   180,
											},
											File:   "set_new_column_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   180,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   180,
												},
												File:   "set_new_column_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   180,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   180,
													},
													File:   "set_new_column_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   180,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   180,
														},
														File:   "set_new_column_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   180,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   180,
														},
														File:   "set_new_column_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   180,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   180,
											},
											File:   "set_new_column_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   180,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   180,
												},
												File:   "set_new_column_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   180,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   180,
													},
													File:   "set_new_column_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   180,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   180,
													},
													File:   "set_new_column_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   180,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   180,
										},
										File:   "set_new_column_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   180,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   180,
											},
											File:   "set_new_column_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   180,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   180,
												},
												File:   "set_new_column_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   180,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   180,
													},
													File:   "set_new_column_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   180,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   180,
														},
														File:   "set_new_column_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   180,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   180,
														},
														File:   "set_new_column_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   180,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   180,
											},
											File:   "set_new_column_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   180,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   180,
												},
												File:   "set_new_column_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   180,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   180,
													},
													File:   "set_new_column_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   180,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   180,
													},
													File:   "set_new_column_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   180,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   180,
										},
										File:   "set_new_column_test.flux",
										Source: "fn: t_set_new_column",
										Start: ast.Position{
											Column: 110,
											Line:   180,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   180,
											},
											File:   "set_new_column_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   180,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   180,
											},
											File:   "set_new_column_test.flux",
											Source: "t_set_new_column",
											Start: ast.Position{
												Column: 114,
												Line:   180,
											},
										},
									},
									Name: "t_set_new_column",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   180,
					},
					File:   "set_new_column_test.flux",
					Source: "test _set_new_column = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set_new_column})",
					Start: ast.Position{
						Column: 1,
						Line:   180,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "set_new_column_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "set_new_column_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "set_new_column_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "set_new_column_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "set_new_column_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   180,
				},
				File:   "set_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:30Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:40Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:50Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:00Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:10Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:20Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:30Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:40Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:50Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:00Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:10Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:20Z,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:50Z,-26.049728557657513\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:00Z,114.285955884979\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:30Z,7.940387008821781\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:40Z,49.460104214779086\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:00Z,34.319039251798635\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:10Z,79.27019811403116\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:20Z,41.91029522104053\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:30Z,-44\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:40Z,-25\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:50Z,46\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:00Z,-2\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:10Z,-14\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:20Z,-53\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:30Z,17\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:40Z,-44\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:50Z,-99\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:00Z,-85\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:10Z,18\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:20Z,99\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:30Z,xRbS\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:40Z,PtTh\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:50Z,ZjN2je\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:00Z,YZNBh\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:10Z,pu08\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:20Z,ixlOdT\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:30Z,YqV\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:40Z,GjbWF\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:50Z,GiX1Bb\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:00Z,DQCZXZ\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:10Z,atopRR2\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:20Z,TNKKB\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:30Z,84\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:40Z,52\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:50Z,23\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:00Z,62\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:10Z,22\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:20Z,78\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:30Z,79\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:40Z,33\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:50Z,97\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:00Z,90\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:10Z,96\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:20Z,10\n\"\nt_set = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> set(key: \"t0\", value: \"server01\")\n\ntest _set = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "set_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "set_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "set_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "set_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "set_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   93,
					},
					File:   "set_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "set_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   93,
						},
						File:   "set_test.flux",
						Source: "\"\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:30Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:40Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:13:50Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:00Z,false\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:10Z,true\n,,0,thmWJ,GK1Ji,SbkiNS9,2018-12-19T22:14:20Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:30Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:40Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:13:50Z,false\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:00Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:10Z,true\n,,1,thmWJ,GK1Ji,gpmhNEw,2018-12-19T22:14:20Z,true\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:30Z,-61.68790887989735\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:40Z,-6.3173755351186465\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:13:50Z,-26.049728557657513\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:00Z,114.285955884979\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:10Z,16.140262630578995\n,,2,thmWJ,c9wjx7r,SbkiNS9,2018-12-19T22:14:20Z,29.50336437998469\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:30Z,7.940387008821781\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:40Z,49.460104214779086\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:13:50Z,-36.564150808873954\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:00Z,34.319039251798635\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:10Z,79.27019811403116\n,,3,thmWJ,c9wjx7r,gpmhNEw,2018-12-19T22:14:20Z,41.91029522104053\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:30Z,-44\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:40Z,-25\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:13:50Z,46\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:00Z,-2\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:10Z,-14\n,,4,thmWJ,iUcIq,SbkiNS9,2018-12-19T22:14:20Z,-53\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:30Z,17\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:40Z,-44\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:13:50Z,-99\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:00Z,-85\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:10Z,18\n,,5,thmWJ,iUcIq,gpmhNEw,2018-12-19T22:14:20Z,99\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:30Z,xRbS\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:40Z,PtTh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:13:50Z,ZjN2je\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:00Z,YZNBh\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:10Z,pu08\n,,6,thmWJ,urO72,SbkiNS9,2018-12-19T22:14:20Z,ixlOdT\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:30Z,YqV\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:40Z,GjbWF\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:13:50Z,GiX1Bb\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:00Z,DQCZXZ\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:10Z,atopRR2\n,,7,thmWJ,urO72,gpmhNEw,2018-12-19T22:14:20Z,TNKKB\n\n#datatype,string,long,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_measurement,_field,t0,_time,_value\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:30Z,84\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:40Z,52\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:13:50Z,23\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:00Z,62\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:10Z,22\n,,8,thmWJ,zmk1YWi,SbkiNS9,2018-12-19T22:14:20Z,78\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:30Z,79\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:40Z,33\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:13:50Z,97\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:00Z,90\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:10Z,96\n,,9,thmWJ,zmk1YWi,gpmhNEw,2018-12-19T22:14:20Z,10\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   175,
					},
					File:   "set_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:30Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:40Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:50Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:00Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:10Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:20Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:30Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:40Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:50Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:00Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:10Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:20Z,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:50Z,-26.049728557657513\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:00Z,114.285955884979\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:30Z,7.940387008821781\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:40Z,49.460104214779086\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:00Z,34.319039251798635\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:10Z,79.27019811403116\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:20Z,41.91029522104053\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:30Z,-44\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:40Z,-25\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:50Z,46\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:00Z,-2\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:10Z,-14\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:20Z,-53\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:30Z,17\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:40Z,-44\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:50Z,-99\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:00Z,-85\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:10Z,18\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:20Z,99\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:30Z,xRbS\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:40Z,PtTh\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:50Z,ZjN2je\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:00Z,YZNBh\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:10Z,pu08\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:20Z,ixlOdT\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:30Z,YqV\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:40Z,GjbWF\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:50Z,GiX1Bb\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:00Z,DQCZXZ\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:10Z,atopRR2\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:20Z,TNKKB\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:30Z,84\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:40Z,52\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:50Z,23\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:00Z,62\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:10Z,22\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:20Z,78\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:30Z,79\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:40Z,33\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:50Z,97\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:00Z,90\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:10Z,96\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:20Z,10\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   94,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   94,
						},
						File:   "set_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   94,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   175,
						},
						File:   "set_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:30Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:40Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:50Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:00Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:10Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:20Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:30Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:40Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:50Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:00Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:10Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:20Z,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:50Z,-26.049728557657513\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:00Z,114.285955884979\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:30Z,7.940387008821781\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:40Z,49.460104214779086\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:00Z,34.319039251798635\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:10Z,79.27019811403116\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:20Z,41.91029522104053\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:30Z,-44\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:40Z,-25\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:50Z,46\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:00Z,-2\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:10Z,-14\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:20Z,-53\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:30Z,17\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:40Z,-44\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:50Z,-99\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:00Z,-85\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:10Z,18\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:20Z,99\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:30Z,xRbS\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:40Z,PtTh\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:50Z,ZjN2je\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:00Z,YZNBh\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:10Z,pu08\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:20Z,ixlOdT\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:30Z,YqV\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:40Z,GjbWF\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:50Z,GiX1Bb\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:00Z,DQCZXZ\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:10Z,atopRR2\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:20Z,TNKKB\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:30Z,84\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:40Z,52\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:50Z,23\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:00Z,62\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:10Z,22\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:20Z,78\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:30Z,79\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:40Z,33\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:50Z,97\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:00Z,90\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:10Z,96\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:20Z,10\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   94,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,boolean\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:30Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:40Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:50Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:00Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:10Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:20Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:30Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:40Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:13:50Z,false\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:00Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:10Z,true\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,GK1Ji,server01,2018-12-19T22:14:20Z,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:30Z,-61.68790887989735\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:40Z,-6.3173755351186465\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:50Z,-26.049728557657513\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:00Z,114.285955884979\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:10Z,16.140262630578995\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:20Z,29.50336437998469\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:30Z,7.940387008821781\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:40Z,49.460104214779086\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:13:50Z,-36.564150808873954\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:00Z,34.319039251798635\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:10Z,79.27019811403116\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,c9wjx7r,server01,2018-12-19T22:14:20Z,41.91029522104053\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:30Z,-44\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:40Z,-25\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:50Z,46\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:00Z,-2\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:10Z,-14\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:20Z,-53\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:30Z,17\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:40Z,-44\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:13:50Z,-99\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:00Z,-85\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:10Z,18\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,iUcIq,server01,2018-12-19T22:14:20Z,99\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:30Z,xRbS\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:40Z,PtTh\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:50Z,ZjN2je\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:00Z,YZNBh\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:10Z,pu08\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:20Z,ixlOdT\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:30Z,YqV\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:40Z,GjbWF\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:13:50Z,GiX1Bb\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:00Z,DQCZXZ\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:10Z,atopRR2\n,,3,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,urO72,server01,2018-12-19T22:14:20Z,TNKKB\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,true,true,true,false,false\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,t0,_time,_value\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:30Z,84\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:40Z,52\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:50Z,23\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:00Z,62\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:10Z,22\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:20Z,78\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:30Z,79\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:40Z,33\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:13:50Z,97\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:00Z,90\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:10Z,96\n,,4,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,thmWJ,zmk1YWi,server01,2018-12-19T22:14:20Z,10\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 41,
						Line:   178,
					},
					File:   "set_test.flux",
					Source: "t_set = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> set(key: \"t0\", value: \"server01\")",
					Start: ast.Position{
						Column: 1,
						Line:   176,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   176,
						},
						File:   "set_test.flux",
						Source: "t_set",
						Start: ast.Position{
							Column: 1,
							Line:   176,
						},
					},
				},
				Name: "t_set",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 41,
							Line:   178,
						},
						File:   "set_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> set(key: \"t0\", value: \"server01\")",
						Start: ast.Position{
							Column: 9,
							Line:   176,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   176,
									},
									File:   "set_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 23,
										Line:   176,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   177,
								},
								File:   "set_test.flux",
								Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)",
								Start: ast.Position{
									Column: 23,
									Line:   176,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   177,
										},
										File:   "set_test.flux",
										Source: "start: 2018-01-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   177,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   177,
											},
											File:   "set_test.flux",
											Source: "start: 2018-01-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   177,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   177,
												},
												File:   "set_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   177,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   177,
												},
												File:   "set_test.flux",
												Source: "2018-01-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   177,
												},
											},
										},
										Value: parser.MustParseTime("2018-01-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   177,
									},
									File:   "set_test.flux",
									Source: "range(start: 2018-01-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   177,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   177,
										},
										File:   "set_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   177,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 41,
								Line:   178,
							},
							File:   "set_test.flux",
							Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> set(key: \"t0\", value: \"server01\")",
							Start: ast.Position{
								Column: 23,
								Line:   176,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 40,
										Line:   178,
									},
									File:   "set_test.flux",
									Source: "key: \"t0\", value: \"server01\"",
									Start: ast.Position{
										Column: 12,
										Line:   178,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 21,
											Line:   178,
										},
										File:   "set_test.flux",
										Source: "key: \"t0\"",
										Start: ast.Position{
											Column: 12,
											Line:   178,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 15,
												Line:   178,
											},
											File:   "set_test.flux",
											Source: "key",
											Start: ast.Position{
												Column: 12,
												Line:   178,
											},
										},
									},
									Name: "key",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   178,
											},
											File:   "set_test.flux",
											Source: "\"t0\"",
											Start: ast.Position{
												Column: 17,
												Line:   178,
											},
										},
									},
									Value: "t0",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   178,
										},
										File:   "set_test.flux",
										Source: "value: \"server01\"",
										Start: ast.Position{
											Column: 23,
											Line:   178,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   178,
											},
											File:   "set_test.flux",
											Source: "value",
											Start: ast.Position{
												Column: 23,
												Line:   178,
											},
										},
									},
									Name: "value",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   178,
											},
											File:   "set_test.flux",
											Source: "\"server01\"",
											Start: ast.Position{
												Column: 30,
												Line:   178,
											},
										},
									},
									Value: "server01",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   178,
								},
								File:   "set_test.flux",
								Source: "set(key: \"t0\", value: \"server01\")",
								Start: ast.Position{
									Column: 8,
									Line:   178,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   178,
									},
									File:   "set_test.flux",
									Source: "set",
									Start: ast.Position{
										Column: 8,
										Line:   178,
									},
								},
							},
							Name: "set",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   176,
							},
							File:   "set_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   176,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   176,
								},
								File:   "set_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   176,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   176,
							},
							File:   "set_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   176,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   180,
						},
						File:   "set_test.flux",
						Source: "_set = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set})",
						Start: ast.Position{
							Column: 6,
							Line:   180,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   180,
							},
							File:   "set_test.flux",
							Source: "_set",
							Start: ast.Position{
								Column: 6,
								Line:   180,
							},
						},
					},
					Name: "_set",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   180,
							},
							File:   "set_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set})",
							Start: ast.Position{
								Column: 13,
								Line:   180,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   180,
								},
								File:   "set_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set})",
								Start: ast.Position{
									Column: 19,
									Line:   180,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   180,
									},
									File:   "set_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set}",
									Start: ast.Position{
										Column: 20,
										Line:   180,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   180,
										},
										File:   "set_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   180,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   180,
											},
											File:   "set_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   180,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   180,
												},
												File:   "set_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   180,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   180,
													},
													File:   "set_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   180,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   180,
														},
														File:   "set_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   180,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   180,
														},
														File:   "set_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   180,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   180,
											},
											File:   "set_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   180,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   180,
												},
												File:   "set_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   180,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   180,
													},
													File:   "set_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   180,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   180,
													},
													File:   "set_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   180,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   180,
										},
										File:   "set_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   180,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   180,
											},
											File:   "set_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   180,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   180,
												},
												File:   "set_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   180,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   180,
													},
													File:   "set_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   180,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   180,
														},
														File:   "set_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   180,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   180,
														},
														File:   "set_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   180,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   180,
											},
											File:   "set_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   180,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   180,
												},
												File:   "set_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   180,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   180,
													},
													File:   "set_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   180,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   180,
													},
													File:   "set_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   180,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   180,
										},
										File:   "set_test.flux",
										Source: "fn: t_set",
										Start: ast.Position{
											Column: 99,
											Line:   180,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   180,
											},
											File:   "set_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   180,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   180,
											},
											File:   "set_test.flux",
											Source: "t_set",
											Start: ast.Position{
												Column: 103,
												Line:   180,
											},
										},
									},
									Name: "t_set",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   180,
					},
					File:   "set_test.flux",
					Source: "test _set = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_set})",
					Start: ast.Position{
						Column: 1,
						Line:   180,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "set_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "set_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "set_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "set_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "set_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 150,
					Line:   68,
				},
				File:   "shift_negative_duration_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,10\n,,0,2018-05-22T19:53:40Z,_m,FF,16\n,,0,2018-05-22T19:53:50Z,_m,FF,93\n,,0,2018-05-22T19:53:00Z,_m,FF,56\n,,0,2018-05-22T19:53:10Z,_m,FF,11\n,,0,2018-05-22T19:53:20Z,_m,FF,29\n,,1,2018-05-22T19:53:30Z,_m,QQ,26\n,,1,2018-05-22T19:53:40Z,_m,QQ,88\n,,1,2018-05-22T19:53:50Z,_m,QQ,47\n,,1,2018-05-22T19:54:00Z,_m,QQ,78\n,,1,2018-05-22T19:54:10Z,_m,QQ,51\n,,1,2018-05-22T19:54:30Z,_m,QQ,22\n,,1,2018-05-22T19:54:40Z,_m,QQ,19\n,,1,2018-05-22T19:53:50Z,_m,QQ,69\n,,1,2018-05-22T19:54:00Z,_m,QQ,63\n,,2,2018-05-22T19:53:10Z,_m,RR,62\n,,2,2018-05-22T19:53:30Z,_m,RR,18\n,,2,2018-05-22T19:54:40Z,_m,RR,19\n,,2,2018-05-22T19:53:50Z,_m,RR,90\n,,3,2018-05-22T19:54:00Z,_m,SR,36\n,,3,2018-05-22T19:54:10Z,_m,SR,72\n,,3,2018-05-22T19:54:20Z,_m,SR,88\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:48:30Z,_m,FF,10\n,,0,2018-05-22T19:48:40Z,_m,FF,16\n,,0,2018-05-22T19:48:50Z,_m,FF,93\n,,0,2018-05-22T19:48:00Z,_m,FF,56\n,,0,2018-05-22T19:48:10Z,_m,FF,11\n,,0,2018-05-22T19:48:20Z,_m,FF,29\n,,1,2018-05-22T19:48:30Z,_m,QQ,26\n,,1,2018-05-22T19:48:40Z,_m,QQ,88\n,,1,2018-05-22T19:48:50Z,_m,QQ,47\n,,1,2018-05-22T19:49:00Z,_m,QQ,78\n,,1,2018-05-22T19:49:10Z,_m,QQ,51\n,,1,2018-05-22T19:49:30Z,_m,QQ,22\n,,1,2018-05-22T19:49:40Z,_m,QQ,19\n,,1,2018-05-22T19:48:50Z,_m,QQ,69\n,,1,2018-05-22T19:49:00Z,_m,QQ,63\n,,2,2018-05-22T19:48:10Z,_m,RR,62\n,,2,2018-05-22T19:48:30Z,_m,RR,18\n,,2,2018-05-22T19:49:40Z,_m,RR,19\n,,2,2018-05-22T19:48:50Z,_m,RR,90\n,,3,2018-05-22T19:49:00Z,_m,SR,36\n,,3,2018-05-22T19:49:10Z,_m,SR,72\n,,3,2018-05-22T19:49:20Z,_m,SR,88\n\"\nt_shift_negative_duration = (table=<-) => table\n    |> timeShift(duration: -5m)\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _shift_negative_duration = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift_negative_duration})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "shift_negative_duration_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "shift_negative_duration_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "shift_negative_duration_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "shift_negative_duration_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "shift_negative_duration_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,10\n,,0,2018-05-22T19:53:40Z,_m,FF,16\n,,0,2018-05-22T19:53:50Z,_m,FF,93\n,,0,2018-05-22T19:53:00Z,_m,FF,56\n,,0,2018-05-22T19:53:10Z,_m,FF,11\n,,0,2018-05-22T19:53:20Z,_m,FF,29\n,,1,2018-05-22T19:53:30Z,_m,QQ,26\n,,1,2018-05-22T19:53:40Z,_m,QQ,88\n,,1,2018-05-22T19:53:50Z,_m,QQ,47\n,,1,2018-05-22T19:54:00Z,_m,QQ,78\n,,1,2018-05-22T19:54:10Z,_m,QQ,51\n,,1,2018-05-22T19:54:30Z,_m,QQ,22\n,,1,2018-05-22T19:54:40Z,_m,QQ,19\n,,1,2018-05-22T19:53:50Z,_m,QQ,69\n,,1,2018-05-22T19:54:00Z,_m,QQ,63\n,,2,2018-05-22T19:53:10Z,_m,RR,62\n,,2,2018-05-22T19:53:30Z,_m,RR,18\n,,2,2018-05-22T19:54:40Z,_m,RR,19\n,,2,2018-05-22T19:53:50Z,_m,RR,90\n,,3,2018-05-22T19:54:00Z,_m,SR,36\n,,3,2018-05-22T19:54:10Z,_m,SR,72\n,,3,2018-05-22T19:54:20Z,_m,SR,88\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,10\n,,0,2018-05-22T19:53:40Z,_m,FF,16\n,,0,2018-05-22T19:53:50Z,_m,FF,93\n,,0,2018-05-22T19:53:00Z,_m,FF,56\n,,0,2018-05-22T19:53:10Z,_m,FF,11\n,,0,2018-05-22T19:53:20Z,_m,FF,29\n,,1,2018-05-22T19:53:30Z,_m,QQ,26\n,,1,2018-05-22T19:53:40Z,_m,QQ,88\n,,1,2018-05-22T19:53:50Z,_m,QQ,47\n,,1,2018-05-22T19:54:00Z,_m,QQ,78\n,,1,2018-05-22T19:54:10Z,_m,QQ,51\n,,1,2018-05-22T19:54:30Z,_m,QQ,22\n,,1,2018-05-22T19:54:40Z,_m,QQ,19\n,,1,2018-05-22T19:53:50Z,_m,QQ,69\n,,1,2018-05-22T19:54:00Z,_m,QQ,63\n,,2,2018-05-22T19:53:10Z,_m,RR,62\n,,2,2018-05-22T19:53:30Z,_m,RR,18\n,,2,2018-05-22T19:54:40Z,_m,RR,19\n,,2,2018-05-22T19:53:50Z,_m,RR,90\n,,3,2018-05-22T19:54:00Z,_m,SR,36\n,,3,2018-05-22T19:54:10Z,_m,SR,72\n,,3,2018-05-22T19:54:20Z,_m,SR,88\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,10\n,,0,2018-05-22T19:53:40Z,_m,FF,16\n,,0,2018-05-22T19:53:50Z,_m,FF,93\n,,0,2018-05-22T19:53:00Z,_m,FF,56\n,,0,2018-05-22T19:53:10Z,_m,FF,11\n,,0,2018-05-22T19:53:20Z,_m,FF,29\n,,1,2018-05-22T19:53:30Z,_m,QQ,26\n,,1,2018-05-22T19:53:40Z,_m,QQ,88\n,,1,2018-05-22T19:53:50Z,_m,QQ,47\n,,1,2018-05-22T19:54:00Z,_m,QQ,78\n,,1,2018-05-22T19:54:10Z,_m,QQ,51\n,,1,2018-05-22T19:54:30Z,_m,QQ,22\n,,1,2018-05-22T19:54:40Z,_m,QQ,19\n,,1,2018-05-22T19:53:50Z,_m,QQ,69\n,,1,2018-05-22T19:54:00Z,_m,QQ,63\n,,2,2018-05-22T19:53:10Z,_m,RR,62\n,,2,2018-05-22T19:53:30Z,_m,RR,18\n,,2,2018-05-22T19:54:40Z,_m,RR,19\n,,2,2018-05-22T19:53:50Z,_m,RR,90\n,,3,2018-05-22T19:54:00Z,_m,SR,36\n,,3,2018-05-22T19:54:10Z,_m,SR,72\n,,3,2018-05-22T19:54:20Z,_m,SR,88\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   63,
					},
					File:   "shift_negative_duration_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:48:30Z,_m,FF,10\n,,0,2018-05-22T19:48:40Z,_m,FF,16\n,,0,2018-05-22T19:48:50Z,_m,FF,93\n,,0,2018-05-22T19:48:00Z,_m,FF,56\n,,0,2018-05-22T19:48:10Z,_m,FF,11\n,,0,2018-05-22T19:48:20Z,_m,FF,29\n,,1,2018-05-22T19:48:30Z,_m,QQ,26\n,,1,2018-05-22T19:48:40Z,_m,QQ,88\n,,1,2018-05-22T19:48:50Z,_m,QQ,47\n,,1,2018-05-22T19:49:00Z,_m,QQ,78\n,,1,2018-05-22T19:49:10Z,_m,QQ,51\n,,1,2018-05-22T19:49:30Z,_m,QQ,22\n,,1,2018-05-22T19:49:40Z,_m,QQ,19\n,,1,2018-05-22T19:48:50Z,_m,QQ,69\n,,1,2018-05-22T19:49:00Z,_m,QQ,63\n,,2,2018-05-22T19:48:10Z,_m,RR,62\n,,2,2018-05-22T19:48:30Z,_m,RR,18\n,,2,2018-05-22T19:49:40Z,_m,RR,19\n,,2,2018-05-22T19:48:50Z,_m,RR,90\n,,3,2018-05-22T19:49:00Z,_m,SR,36\n,,3,2018-05-22T19:49:10Z,_m,SR,72\n,,3,2018-05-22T19:49:20Z,_m,SR,88\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   36,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   63,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:48:30Z,_m,FF,10\n,,0,2018-05-22T19:48:40Z,_m,FF,16\n,,0,2018-05-22T19:48:50Z,_m,FF,93\n,,0,2018-05-22T19:48:00Z,_m,FF,56\n,,0,2018-05-22T19:48:10Z,_m,FF,11\n,,0,2018-05-22T19:48:20Z,_m,FF,29\n,,1,2018-05-22T19:48:30Z,_m,QQ,26\n,,1,2018-05-22T19:48:40Z,_m,QQ,88\n,,1,2018-05-22T19:48:50Z,_m,QQ,47\n,,1,2018-05-22T19:49:00Z,_m,QQ,78\n,,1,2018-05-22T19:49:10Z,_m,QQ,51\n,,1,2018-05-22T19:49:30Z,_m,QQ,22\n,,1,2018-05-22T19:49:40Z,_m,QQ,19\n,,1,2018-05-22T19:48:50Z,_m,QQ,69\n,,1,2018-05-22T19:49:00Z,_m,QQ,63\n,,2,2018-05-22T19:48:10Z,_m,RR,62\n,,2,2018-05-22T19:48:30Z,_m,RR,18\n,,2,2018-05-22T19:49:40Z,_m,RR,19\n,,2,2018-05-22T19:48:50Z,_m,RR,90\n,,3,2018-05-22T19:49:00Z,_m,SR,36\n,,3,2018-05-22T19:49:10Z,_m,SR,72\n,,3,2018-05-22T19:49:20Z,_m,SR,88\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   36,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:48:30Z,_m,FF,10\n,,0,2018-05-22T19:48:40Z,_m,FF,16\n,,0,2018-05-22T19:48:50Z,_m,FF,93\n,,0,2018-05-22T19:48:00Z,_m,FF,56\n,,0,2018-05-22T19:48:10Z,_m,FF,11\n,,0,2018-05-22T19:48:20Z,_m,FF,29\n,,1,2018-05-22T19:48:30Z,_m,QQ,26\n,,1,2018-05-22T19:48:40Z,_m,QQ,88\n,,1,2018-05-22T19:48:50Z,_m,QQ,47\n,,1,2018-05-22T19:49:00Z,_m,QQ,78\n,,1,2018-05-22T19:49:10Z,_m,QQ,51\n,,1,2018-05-22T19:49:30Z,_m,QQ,22\n,,1,2018-05-22T19:49:40Z,_m,QQ,19\n,,1,2018-05-22T19:48:50Z,_m,QQ,69\n,,1,2018-05-22T19:49:00Z,_m,QQ,63\n,,2,2018-05-22T19:48:10Z,_m,RR,62\n,,2,2018-05-22T19:48:30Z,_m,RR,18\n,,2,2018-05-22T19:49:40Z,_m,RR,19\n,,2,2018-05-22T19:48:50Z,_m,RR,90\n,,3,2018-05-22T19:49:00Z,_m,SR,36\n,,3,2018-05-22T19:49:10Z,_m,SR,72\n,,3,2018-05-22T19:49:20Z,_m,SR,88\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   66,
					},
					File:   "shift_negative_duration_test.flux",
					Source: "t_shift_negative_duration = (table=<-) => table\n    |> timeShift(duration: -5m)\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   64,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 26,
							Line:   64,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "t_shift_negative_duration",
						Start: ast.Position{
							Column: 1,
							Line:   64,
						},
					},
				},
				Name: "t_shift_negative_duration",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   66,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "(table=<-) => table\n    |> timeShift(duration: -5m)\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 29,
							Line:   64,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   64,
									},
									File:   "shift_negative_duration_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 43,
										Line:   64,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 32,
									Line:   65,
								},
								File:   "shift_negative_duration_test.flux",
								Source: "table\n    |> timeShift(duration: -5m)",
								Start: ast.Position{
									Column: 43,
									Line:   64,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 31,
											Line:   65,
										},
										File:   "shift_negative_duration_test.flux",
										Source: "duration: -5m",
										Start: ast.Position{
											Column: 18,
											Line:   65,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 31,
												Line:   65,
											},
											File:   "shift_negative_duration_test.flux",
											Source: "duration: -5m",
											Start: ast.Position{
												Column: 18,
												Line:   65,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   65,
												},
												File:   "shift_negative_duration_test.flux",
												Source: "duration",
												Start: ast.Position{
													Column: 18,
													Line:   65,
												},
											},
										},
										Name: "duration",
									},
									Separator: nil,
									Value: &ast.UnaryExpression{
										Argument: &ast.DurationLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   65,
													},
													File:   "shift_negative_duration_test.flux",
													Source: "5m",
													Start: ast.Position{
														Column: 29,
														Line:   65,
													},
												},
											},
											Values: []ast.Duration{ast.Duration{
												Magnitude: int64(5),
												Unit:      "m",
											}},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   65,
												},
												File:   "shift_negative_duration_test.flux",
												Source: "-5m",
												Start: ast.Position{
													Column: 28,
													Line:   65,
												},
											},
										},
										Operator: 6,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 32,
										Line:   65,
									},
									File:   "shift_negative_duration_test.flux",
									Source: "timeShift(duration: -5m)",
									Start: ast.Position{
										Column: 8,
										Line:   65,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   65,
										},
										File:   "shift_negative_duration_test.flux",
										Source: "timeShift",
										Start: ast.Position{
											Column: 8,
											Line:   65,
										},
									},
								},
								Name: "timeShift",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   66,
							},
							File:   "shift_negative_duration_test.flux",
							Source: "table\n    |> timeShift(duration: -5m)\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 43,
								Line:   64,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   66,
									},
									File:   "shift_negative_duration_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   66,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   66,
										},
										File:   "shift_negative_duration_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   66,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   66,
											},
											File:   "shift_negative_duration_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   66,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   66,
											},
											File:   "shift_negative_duration_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   66,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   66,
												},
												File:   "shift_negative_duration_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   66,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   66,
												},
												File:   "shift_negative_duration_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   66,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   66,
								},
								File:   "shift_negative_duration_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   66,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   66,
									},
									File:   "shift_negative_duration_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   66,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   64,
							},
							File:   "shift_negative_duration_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 30,
								Line:   64,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 35,
									Line:   64,
								},
								File:   "shift_negative_duration_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 30,
									Line:   64,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   64,
							},
							File:   "shift_negative_duration_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 36,
								Line:   64,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 150,
							Line:   68,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "_shift_negative_duration = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift_negative_duration})",
						Start: ast.Position{
							Column: 6,
							Line:   68,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   68,
							},
							File:   "shift_negative_duration_test.flux",
							Source: "_shift_negative_duration",
							Start: ast.Position{
								Column: 6,
								Line:   68,
							},
						},
					},
					Name: "_shift_negative_duration",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 150,
								Line:   68,
							},
							File:   "shift_negative_duration_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift_negative_duration})",
							Start: ast.Position{
								Column: 33,
								Line:   68,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 150,
									Line:   68,
								},
								File:   "shift_negative_duration_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift_negative_duration})",
								Start: ast.Position{
									Column: 39,
									Line:   68,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 149,
										Line:   68,
									},
									File:   "shift_negative_duration_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift_negative_duration}",
									Start: ast.Position{
										Column: 40,
										Line:   68,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 80,
											Line:   68,
										},
										File:   "shift_negative_duration_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 41,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   68,
											},
											File:   "shift_negative_duration_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 41,
												Line:   68,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 79,
													Line:   68,
												},
												File:   "shift_negative_duration_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 68,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 79,
														Line:   68,
													},
													File:   "shift_negative_duration_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 68,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   68,
														},
														File:   "shift_negative_duration_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 68,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 79,
															Line:   68,
														},
														File:   "shift_negative_duration_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 73,
															Line:   68,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   68,
											},
											File:   "shift_negative_duration_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 48,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   68,
												},
												File:   "shift_negative_duration_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 48,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   68,
													},
													File:   "shift_negative_duration_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 48,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   68,
													},
													File:   "shift_negative_duration_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 56,
														Line:   68,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 117,
											Line:   68,
										},
										File:   "shift_negative_duration_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 82,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 86,
												Line:   68,
											},
											File:   "shift_negative_duration_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 82,
												Line:   68,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 116,
													Line:   68,
												},
												File:   "shift_negative_duration_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 104,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 116,
														Line:   68,
													},
													File:   "shift_negative_duration_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 104,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   68,
														},
														File:   "shift_negative_duration_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 104,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 116,
															Line:   68,
														},
														File:   "shift_negative_duration_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 109,
															Line:   68,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 117,
												Line:   68,
											},
											File:   "shift_negative_duration_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 88,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   68,
												},
												File:   "shift_negative_duration_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 88,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 95,
														Line:   68,
													},
													File:   "shift_negative_duration_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 88,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   68,
													},
													File:   "shift_negative_duration_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 96,
														Line:   68,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 148,
											Line:   68,
										},
										File:   "shift_negative_duration_test.flux",
										Source: "fn: t_shift_negative_duration",
										Start: ast.Position{
											Column: 119,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 121,
												Line:   68,
											},
											File:   "shift_negative_duration_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 119,
												Line:   68,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 148,
												Line:   68,
											},
											File:   "shift_negative_duration_test.flux",
											Source: "t_shift_negative_duration",
											Start: ast.Position{
												Column: 123,
												Line:   68,
											},
										},
									},
									Name: "t_shift_negative_duration",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 150,
						Line:   68,
					},
					File:   "shift_negative_duration_test.flux",
					Source: "test _shift_negative_duration = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift_negative_duration})",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "shift_negative_duration_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "shift_negative_duration_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "shift_negative_duration_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "shift_negative_duration_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   68,
				},
				File:   "shift_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,10\n,,0,2018-05-22T19:53:40Z,_m,FF,16\n,,0,2018-05-22T19:53:50Z,_m,FF,93\n,,0,2018-05-22T19:53:00Z,_m,FF,56\n,,0,2018-05-22T19:53:10Z,_m,FF,11\n,,0,2018-05-22T19:53:20Z,_m,FF,29\n,,1,2018-05-22T19:53:30Z,_m,QQ,26\n,,1,2018-05-22T19:53:40Z,_m,QQ,88\n,,1,2018-05-22T19:53:50Z,_m,QQ,47\n,,1,2018-05-22T19:54:00Z,_m,QQ,78\n,,1,2018-05-22T19:54:10Z,_m,QQ,51\n,,1,2018-05-22T19:54:30Z,_m,QQ,22\n,,1,2018-05-22T19:54:40Z,_m,QQ,19\n,,1,2018-05-22T19:53:50Z,_m,QQ,69\n,,1,2018-05-22T19:54:00Z,_m,QQ,63\n,,2,2018-05-22T19:53:10Z,_m,RR,62\n,,2,2018-05-22T19:53:30Z,_m,RR,18\n,,2,2018-05-22T19:54:40Z,_m,RR,19\n,,2,2018-05-22T19:53:50Z,_m,RR,90\n,,3,2018-05-22T19:54:00Z,_m,SR,36\n,,3,2018-05-22T19:54:10Z,_m,SR,72\n,,3,2018-05-22T19:54:20Z,_m,SR,88\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:55:30Z,_m,FF,10\n,,0,2018-05-22T19:55:40Z,_m,FF,16\n,,0,2018-05-22T19:55:50Z,_m,FF,93\n,,0,2018-05-22T19:55:00Z,_m,FF,56\n,,0,2018-05-22T19:55:10Z,_m,FF,11\n,,0,2018-05-22T19:55:20Z,_m,FF,29\n,,1,2018-05-22T19:55:30Z,_m,QQ,26\n,,1,2018-05-22T19:55:40Z,_m,QQ,88\n,,1,2018-05-22T19:55:50Z,_m,QQ,47\n,,1,2018-05-22T19:56:00Z,_m,QQ,78\n,,1,2018-05-22T19:56:10Z,_m,QQ,51\n,,1,2018-05-22T19:56:30Z,_m,QQ,22\n,,1,2018-05-22T19:56:40Z,_m,QQ,19\n,,1,2018-05-22T19:55:50Z,_m,QQ,69\n,,1,2018-05-22T19:56:00Z,_m,QQ,63\n,,2,2018-05-22T19:55:10Z,_m,RR,62\n,,2,2018-05-22T19:55:30Z,_m,RR,18\n,,2,2018-05-22T19:56:40Z,_m,RR,19\n,,2,2018-05-22T19:55:50Z,_m,RR,90\n,,3,2018-05-22T19:56:00Z,_m,SR,36\n,,3,2018-05-22T19:56:10Z,_m,SR,72\n,,3,2018-05-22T19:56:20Z,_m,SR,88\n\"\nt_shift = (table=<-) => table\n    |> timeShift(duration: 120s)\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _shift = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "shift_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "shift_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "shift_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "shift_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "shift_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "shift_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,10\n,,0,2018-05-22T19:53:40Z,_m,FF,16\n,,0,2018-05-22T19:53:50Z,_m,FF,93\n,,0,2018-05-22T19:53:00Z,_m,FF,56\n,,0,2018-05-22T19:53:10Z,_m,FF,11\n,,0,2018-05-22T19:53:20Z,_m,FF,29\n,,1,2018-05-22T19:53:30Z,_m,QQ,26\n,,1,2018-05-22T19:53:40Z,_m,QQ,88\n,,1,2018-05-22T19:53:50Z,_m,QQ,47\n,,1,2018-05-22T19:54:00Z,_m,QQ,78\n,,1,2018-05-22T19:54:10Z,_m,QQ,51\n,,1,2018-05-22T19:54:30Z,_m,QQ,22\n,,1,2018-05-22T19:54:40Z,_m,QQ,19\n,,1,2018-05-22T19:53:50Z,_m,QQ,69\n,,1,2018-05-22T19:54:00Z,_m,QQ,63\n,,2,2018-05-22T19:53:10Z,_m,RR,62\n,,2,2018-05-22T19:53:30Z,_m,RR,18\n,,2,2018-05-22T19:54:40Z,_m,RR,19\n,,2,2018-05-22T19:53:50Z,_m,RR,90\n,,3,2018-05-22T19:54:00Z,_m,SR,36\n,,3,2018-05-22T19:54:10Z,_m,SR,72\n,,3,2018-05-22T19:54:20Z,_m,SR,88\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "shift_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "shift_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,10\n,,0,2018-05-22T19:53:40Z,_m,FF,16\n,,0,2018-05-22T19:53:50Z,_m,FF,93\n,,0,2018-05-22T19:53:00Z,_m,FF,56\n,,0,2018-05-22T19:53:10Z,_m,FF,11\n,,0,2018-05-22T19:53:20Z,_m,FF,29\n,,1,2018-05-22T19:53:30Z,_m,QQ,26\n,,1,2018-05-22T19:53:40Z,_m,QQ,88\n,,1,2018-05-22T19:53:50Z,_m,QQ,47\n,,1,2018-05-22T19:54:00Z,_m,QQ,78\n,,1,2018-05-22T19:54:10Z,_m,QQ,51\n,,1,2018-05-22T19:54:30Z,_m,QQ,22\n,,1,2018-05-22T19:54:40Z,_m,QQ,19\n,,1,2018-05-22T19:53:50Z,_m,QQ,69\n,,1,2018-05-22T19:54:00Z,_m,QQ,63\n,,2,2018-05-22T19:53:10Z,_m,RR,62\n,,2,2018-05-22T19:53:30Z,_m,RR,18\n,,2,2018-05-22T19:54:40Z,_m,RR,19\n,,2,2018-05-22T19:53:50Z,_m,RR,90\n,,3,2018-05-22T19:54:00Z,_m,SR,36\n,,3,2018-05-22T19:54:10Z,_m,SR,72\n,,3,2018-05-22T19:54:20Z,_m,SR,88\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:30Z,_m,FF,10\n,,0,2018-05-22T19:53:40Z,_m,FF,16\n,,0,2018-05-22T19:53:50Z,_m,FF,93\n,,0,2018-05-22T19:53:00Z,_m,FF,56\n,,0,2018-05-22T19:53:10Z,_m,FF,11\n,,0,2018-05-22T19:53:20Z,_m,FF,29\n,,1,2018-05-22T19:53:30Z,_m,QQ,26\n,,1,2018-05-22T19:53:40Z,_m,QQ,88\n,,1,2018-05-22T19:53:50Z,_m,QQ,47\n,,1,2018-05-22T19:54:00Z,_m,QQ,78\n,,1,2018-05-22T19:54:10Z,_m,QQ,51\n,,1,2018-05-22T19:54:30Z,_m,QQ,22\n,,1,2018-05-22T19:54:40Z,_m,QQ,19\n,,1,2018-05-22T19:53:50Z,_m,QQ,69\n,,1,2018-05-22T19:54:00Z,_m,QQ,63\n,,2,2018-05-22T19:53:10Z,_m,RR,62\n,,2,2018-05-22T19:53:30Z,_m,RR,18\n,,2,2018-05-22T19:54:40Z,_m,RR,19\n,,2,2018-05-22T19:53:50Z,_m,RR,90\n,,3,2018-05-22T19:54:00Z,_m,SR,36\n,,3,2018-05-22T19:54:10Z,_m,SR,72\n,,3,2018-05-22T19:54:20Z,_m,SR,88\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   63,
					},
					File:   "shift_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:55:30Z,_m,FF,10\n,,0,2018-05-22T19:55:40Z,_m,FF,16\n,,0,2018-05-22T19:55:50Z,_m,FF,93\n,,0,2018-05-22T19:55:00Z,_m,FF,56\n,,0,2018-05-22T19:55:10Z,_m,FF,11\n,,0,2018-05-22T19:55:20Z,_m,FF,29\n,,1,2018-05-22T19:55:30Z,_m,QQ,26\n,,1,2018-05-22T19:55:40Z,_m,QQ,88\n,,1,2018-05-22T19:55:50Z,_m,QQ,47\n,,1,2018-05-22T19:56:00Z,_m,QQ,78\n,,1,2018-05-22T19:56:10Z,_m,QQ,51\n,,1,2018-05-22T19:56:30Z,_m,QQ,22\n,,1,2018-05-22T19:56:40Z,_m,QQ,19\n,,1,2018-05-22T19:55:50Z,_m,QQ,69\n,,1,2018-05-22T19:56:00Z,_m,QQ,63\n,,2,2018-05-22T19:55:10Z,_m,RR,62\n,,2,2018-05-22T19:55:30Z,_m,RR,18\n,,2,2018-05-22T19:56:40Z,_m,RR,19\n,,2,2018-05-22T19:55:50Z,_m,RR,90\n,,3,2018-05-22T19:56:00Z,_m,SR,36\n,,3,2018-05-22T19:56:10Z,_m,SR,72\n,,3,2018-05-22T19:56:20Z,_m,SR,88\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   36,
						},
						File:   "shift_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   63,
						},
						File:   "shift_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:55:30Z,_m,FF,10\n,,0,2018-05-22T19:55:40Z,_m,FF,16\n,,0,2018-05-22T19:55:50Z,_m,FF,93\n,,0,2018-05-22T19:55:00Z,_m,FF,56\n,,0,2018-05-22T19:55:10Z,_m,FF,11\n,,0,2018-05-22T19:55:20Z,_m,FF,29\n,,1,2018-05-22T19:55:30Z,_m,QQ,26\n,,1,2018-05-22T19:55:40Z,_m,QQ,88\n,,1,2018-05-22T19:55:50Z,_m,QQ,47\n,,1,2018-05-22T19:56:00Z,_m,QQ,78\n,,1,2018-05-22T19:56:10Z,_m,QQ,51\n,,1,2018-05-22T19:56:30Z,_m,QQ,22\n,,1,2018-05-22T19:56:40Z,_m,QQ,19\n,,1,2018-05-22T19:55:50Z,_m,QQ,69\n,,1,2018-05-22T19:56:00Z,_m,QQ,63\n,,2,2018-05-22T19:55:10Z,_m,RR,62\n,,2,2018-05-22T19:55:30Z,_m,RR,18\n,,2,2018-05-22T19:56:40Z,_m,RR,19\n,,2,2018-05-22T19:55:50Z,_m,RR,90\n,,3,2018-05-22T19:56:00Z,_m,SR,36\n,,3,2018-05-22T19:56:10Z,_m,SR,72\n,,3,2018-05-22T19:56:20Z,_m,SR,88\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   36,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:55:30Z,_m,FF,10\n,,0,2018-05-22T19:55:40Z,_m,FF,16\n,,0,2018-05-22T19:55:50Z,_m,FF,93\n,,0,2018-05-22T19:55:00Z,_m,FF,56\n,,0,2018-05-22T19:55:10Z,_m,FF,11\n,,0,2018-05-22T19:55:20Z,_m,FF,29\n,,1,2018-05-22T19:55:30Z,_m,QQ,26\n,,1,2018-05-22T19:55:40Z,_m,QQ,88\n,,1,2018-05-22T19:55:50Z,_m,QQ,47\n,,1,2018-05-22T19:56:00Z,_m,QQ,78\n,,1,2018-05-22T19:56:10Z,_m,QQ,51\n,,1,2018-05-22T19:56:30Z,_m,QQ,22\n,,1,2018-05-22T19:56:40Z,_m,QQ,19\n,,1,2018-05-22T19:55:50Z,_m,QQ,69\n,,1,2018-05-22T19:56:00Z,_m,QQ,63\n,,2,2018-05-22T19:55:10Z,_m,RR,62\n,,2,2018-05-22T19:55:30Z,_m,RR,18\n,,2,2018-05-22T19:56:40Z,_m,RR,19\n,,2,2018-05-22T19:55:50Z,_m,RR,90\n,,3,2018-05-22T19:56:00Z,_m,SR,36\n,,3,2018-05-22T19:56:10Z,_m,SR,72\n,,3,2018-05-22T19:56:20Z,_m,SR,88\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   66,
					},
					File:   "shift_test.flux",
					Source: "t_shift = (table=<-) => table\n    |> timeShift(duration: 120s)\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   64,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   64,
						},
						File:   "shift_test.flux",
						Source: "t_shift",
						Start: ast.Position{
							Column: 1,
							Line:   64,
						},
					},
				},
				Name: "t_shift",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   66,
						},
						File:   "shift_test.flux",
						Source: "(table=<-) => table\n    |> timeShift(duration: 120s)\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 11,
							Line:   64,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   64,
									},
									File:   "shift_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 25,
										Line:   64,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   65,
								},
								File:   "shift_test.flux",
								Source: "table\n    |> timeShift(duration: 120s)",
								Start: ast.Position{
									Column: 25,
									Line:   64,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   65,
										},
										File:   "shift_test.flux",
										Source: "duration: 120s",
										Start: ast.Position{
											Column: 18,
											Line:   65,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   65,
											},
											File:   "shift_test.flux",
											Source: "duration: 120s",
											Start: ast.Position{
												Column: 18,
												Line:   65,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   65,
												},
												File:   "shift_test.flux",
												Source: "duration",
												Start: ast.Position{
													Column: 18,
													Line:   65,
												},
											},
										},
										Name: "duration",
									},
									Separator: nil,
									Value: &ast.DurationLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   65,
												},
												File:   "shift_test.flux",
												Source: "120s",
												Start: ast.Position{
													Column: 28,
													Line:   65,
												},
											},
										},
										Values: []ast.Duration{ast.Duration{
											Magnitude: int64(120),
											Unit:      "s",
										}},
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   65,
									},
									File:   "shift_test.flux",
									Source: "timeShift(duration: 120s)",
									Start: ast.Position{
										Column: 8,
										Line:   65,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   65,
										},
										File:   "shift_test.flux",
										Source: "timeShift",
										Start: ast.Position{
											Column: 8,
											Line:   65,
										},
									},
								},
								Name: "timeShift",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   66,
							},
							File:   "shift_test.flux",
							Source: "table\n    |> timeShift(duration: 120s)\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 25,
								Line:   64,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   66,
									},
									File:   "shift_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   66,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   66,
										},
										File:   "shift_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   66,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   66,
											},
											File:   "shift_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   66,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   66,
											},
											File:   "shift_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   66,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   66,
												},
												File:   "shift_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   66,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   66,
												},
												File:   "shift_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   66,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   66,
								},
								File:   "shift_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   66,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   66,
									},
									File:   "shift_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   66,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   64,
							},
							File:   "shift_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   64,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   64,
								},
								File:   "shift_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   64,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   64,
							},
							File:   "shift_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   64,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   68,
						},
						File:   "shift_test.flux",
						Source: "_shift = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift})",
						Start: ast.Position{
							Column: 6,
							Line:   68,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   68,
							},
							File:   "shift_test.flux",
							Source: "_shift",
							Start: ast.Position{
								Column: 6,
								Line:   68,
							},
						},
					},
					Name: "_shift",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   68,
							},
							File:   "shift_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift})",
							Start: ast.Position{
								Column: 15,
								Line:   68,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   68,
								},
								File:   "shift_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift})",
								Start: ast.Position{
									Column: 21,
									Line:   68,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   68,
									},
									File:   "shift_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift}",
									Start: ast.Position{
										Column: 22,
										Line:   68,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   68,
										},
										File:   "shift_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   68,
											},
											File:   "shift_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   68,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   68,
												},
												File:   "shift_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   68,
													},
													File:   "shift_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   68,
														},
														File:   "shift_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   68,
														},
														File:   "shift_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   68,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   68,
											},
											File:   "shift_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   68,
												},
												File:   "shift_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   68,
													},
													File:   "shift_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   68,
													},
													File:   "shift_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   68,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   68,
										},
										File:   "shift_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   68,
											},
											File:   "shift_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   68,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   68,
												},
												File:   "shift_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   68,
													},
													File:   "shift_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   68,
														},
														File:   "shift_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   68,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   68,
														},
														File:   "shift_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   68,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   68,
											},
											File:   "shift_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   68,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   68,
												},
												File:   "shift_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   68,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   68,
													},
													File:   "shift_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   68,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   68,
													},
													File:   "shift_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   68,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   68,
										},
										File:   "shift_test.flux",
										Source: "fn: t_shift",
										Start: ast.Position{
											Column: 101,
											Line:   68,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   68,
											},
											File:   "shift_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   68,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   68,
											},
											File:   "shift_test.flux",
											Source: "t_shift",
											Start: ast.Position{
												Column: 105,
												Line:   68,
											},
										},
									},
									Name: "t_shift",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   68,
					},
					File:   "shift_test.flux",
					Source: "test _shift = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_shift})",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "shift_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "shift_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "shift_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "shift_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "shift_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 138,
					Line:   1140,
				},
				File:   "show_all_tag_keys_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,0,2018-05-22T19:53:26Z,6535598080,active,mem,host.local\r\n,,0,2018-05-22T19:53:36Z,6390587392,active,mem,host.local\r\n,,0,2018-05-22T19:53:46Z,6445174784,active,mem,host.local\r\n,,0,2018-05-22T19:53:56Z,6387265536,active,mem,host.local\r\n,,0,2018-05-22T19:54:06Z,6375489536,active,mem,host.local\r\n,,0,2018-05-22T19:54:16Z,6427201536,active,mem,host.local\r\n,,1,2018-05-22T19:53:26Z,6347390976,available,mem,host.local\r\n,,1,2018-05-22T19:53:36Z,6405451776,available,mem,host.local\r\n,,1,2018-05-22T19:53:46Z,6461759488,available,mem,host.local\r\n,,1,2018-05-22T19:53:56Z,6400196608,available,mem,host.local\r\n,,1,2018-05-22T19:54:06Z,6394032128,available,mem,host.local\r\n,,1,2018-05-22T19:54:16Z,6448041984,available,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,2,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host.local\r\n,,2,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host.local\r\n,,2,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,3,2018-05-22T19:53:26Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:36Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:46Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:56Z,2,blocked,processes,host.local\r\n,,3,2018-05-22T19:54:06Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:54:16Z,0,blocked,processes,host.local\r\n,,4,2018-05-22T19:53:26Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:36Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:46Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:56Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:54:06Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:54:16Z,0,buffered,mem,host.local\r\n,,5,2018-05-22T19:53:26Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:36Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:46Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:56Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:54:06Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:54:16Z,0,cached,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,6,2018-05-22T19:53:26Z,318324641792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:36Z,318324609024,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:46Z,318324129792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:56Z,318324129792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:54:06Z,318326116352,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:54:16Z,318325084160,free,disk,disk1s1,apfs,host.local,/\r\n,,7,2018-05-22T19:53:26Z,318324641792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:36Z,318324609024,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:46Z,318324129792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:56Z,318324129792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:54:06Z,318326116352,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:54:16Z,318325084160,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,8,2018-05-22T19:53:26Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:36Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:46Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:56Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:54:06Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:54:16Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,9,2018-05-22T19:53:26Z,54624256,free,mem,host.local\r\n,,9,2018-05-22T19:53:36Z,17481728,free,mem,host.local\r\n,,9,2018-05-22T19:53:46Z,17805312,free,mem,host.local\r\n,,9,2018-05-22T19:53:56Z,16089088,free,mem,host.local\r\n,,9,2018-05-22T19:54:06Z,20774912,free,mem,host.local\r\n,,9,2018-05-22T19:54:16Z,20930560,free,mem,host.local\r\n,,10,2018-05-22T19:53:26Z,1461714944,free,swap,host.local\r\n,,10,2018-05-22T19:53:36Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:53:46Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:53:56Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:54:06Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:54:16Z,1491075072,free,swap,host.local\r\n,,11,2018-05-22T19:53:26Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:36Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:46Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:56Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:54:06Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:54:16Z,0,idle,processes,host.local\r\n,,12,2018-05-22T19:53:26Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:36Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:46Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:56Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:54:06Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:54:16Z,0,in,swap,host.local\r\n,,13,2018-05-22T19:53:26Z,6292766720,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:36Z,6387970048,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:46Z,6443954176,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:56Z,6384107520,inactive,mem,host.local\r\n,,13,2018-05-22T19:54:06Z,6373257216,inactive,mem,host.local\r\n,,13,2018-05-22T19:54:16Z,6427111424,inactive,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,14,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:36Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:46Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:56Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:54:06Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:54:16Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,15,2018-05-22T19:53:26Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:36Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:46Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:56Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:54:06Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:54:16Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,16,2018-05-22T19:53:26Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:36Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:46Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:56Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:54:06Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:54:16Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,17,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,18,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,19,2018-05-22T19:53:26Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:36Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:46Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:56Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:54:06Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:54:16Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,20,2018-05-22T19:53:26Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:36Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:46Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:56Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:54:06Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:54:16Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,21,2018-05-22T19:53:26Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:36Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:46Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:56Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:54:06Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:54:16Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,22,2018-05-22T19:53:26Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:36Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:46Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:56Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:54:06Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:54:16Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,23,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:56Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:54:06Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:54:16Z,3929,io_time,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,27,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,28,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,29,2018-05-22T19:53:26Z,1.83,load1,system,host.local\r\n,,29,2018-05-22T19:53:36Z,1.7,load1,system,host.local\r\n,,29,2018-05-22T19:53:46Z,1.74,load1,system,host.local\r\n,,29,2018-05-22T19:53:56Z,1.63,load1,system,host.local\r\n,,29,2018-05-22T19:54:06Z,1.91,load1,system,host.local\r\n,,29,2018-05-22T19:54:16Z,1.84,load1,system,host.local\r\n,,30,2018-05-22T19:53:26Z,1.98,load15,system,host.local\r\n,,30,2018-05-22T19:53:36Z,1.97,load15,system,host.local\r\n,,30,2018-05-22T19:53:46Z,1.97,load15,system,host.local\r\n,,30,2018-05-22T19:53:56Z,1.96,load15,system,host.local\r\n,,30,2018-05-22T19:54:06Z,1.98,load15,system,host.local\r\n,,30,2018-05-22T19:54:16Z,1.97,load15,system,host.local\r\n,,31,2018-05-22T19:53:26Z,1.95,load5,system,host.local\r\n,,31,2018-05-22T19:53:36Z,1.92,load5,system,host.local\r\n,,31,2018-05-22T19:53:46Z,1.92,load5,system,host.local\r\n,,31,2018-05-22T19:53:56Z,1.89,load5,system,host.local\r\n,,31,2018-05-22T19:54:06Z,1.94,load5,system,host.local\r\n,,31,2018-05-22T19:54:16Z,1.93,load5,system,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,32,2018-05-22T19:53:26Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:36Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:46Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:56Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:54:06Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:54:16Z,8,n_cpus,system,host.local\r\n,,33,2018-05-22T19:53:26Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:36Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:46Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:56Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:54:06Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:54:16Z,5,n_users,system,host.local\r\n,,34,2018-05-22T19:53:26Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:36Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:46Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:56Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:54:06Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:54:16Z,0,out,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,35,2018-05-22T19:53:26Z,228569833472,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:36Z,228577058816,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:46Z,228583690240,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n,,36,2018-05-22T19:53:26Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:36Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:46Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,37,2018-05-22T19:53:26Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:36Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:46Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,38,2018-05-22T19:53:26Z,3455708,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:36Z,3455784,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:46Z,3455954,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:56Z,3456031,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:54:06Z,3456184,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:54:16Z,3456390,read_time,diskio,host.local,disk0\r\n,,39,2018-05-22T19:53:26Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:36Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:46Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:56Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:54:06Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:54:16Z,648,read_time,diskio,host.local,disk2\r\n,,40,2018-05-22T19:53:26Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:36Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:46Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:56Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:54:06Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:54:16Z,3929,read_time,diskio,host.local,disk3\r\n,,41,2018-05-22T19:53:26Z,6129420,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:36Z,6129483,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:46Z,6129801,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:56Z,6129864,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:54:06Z,6130176,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:54:16Z,6130461,reads,diskio,host.local,disk0\r\n,,42,2018-05-22T19:53:26Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:36Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:46Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:56Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:54:06Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:54:16Z,729,reads,diskio,host.local,disk2\r\n,,43,2018-05-22T19:53:26Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:36Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:46Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:56Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:54:06Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:54:16Z,100,reads,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,44,2018-05-22T19:53:26Z,3,running,processes,host.local\r\n,,44,2018-05-22T19:53:36Z,1,running,processes,host.local\r\n,,44,2018-05-22T19:53:46Z,1,running,processes,host.local\r\n,,44,2018-05-22T19:53:56Z,2,running,processes,host.local\r\n,,44,2018-05-22T19:54:06Z,2,running,processes,host.local\r\n,,44,2018-05-22T19:54:16Z,3,running,processes,host.local\r\n,,45,2018-05-22T19:53:26Z,414,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:36Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:46Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:56Z,414,sleeping,processes,host.local\r\n,,45,2018-05-22T19:54:06Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:54:16Z,414,sleeping,processes,host.local\r\n,,46,2018-05-22T19:53:26Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:36Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:46Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:56Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:54:06Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:54:16Z,0,stopped,processes,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,47,2018-05-22T19:53:26Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:36Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:46Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:56Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:54:06Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:54:16Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,48,2018-05-22T19:53:26Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:36Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:46Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:56Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:54:06Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:54:16Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,49,2018-05-22T19:53:26Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:36Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:46Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:56Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:54:06Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:54:16Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,50,2018-05-22T19:53:26Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:36Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:46Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:56Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:54:06Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:54:16Z,17179869184,total,mem,host.local\r\n,,51,2018-05-22T19:53:26Z,417,total,processes,host.local\r\n,,51,2018-05-22T19:53:36Z,416,total,processes,host.local\r\n,,51,2018-05-22T19:53:46Z,416,total,processes,host.local\r\n,,51,2018-05-22T19:53:56Z,418,total,processes,host.local\r\n,,51,2018-05-22T19:54:06Z,418,total,processes,host.local\r\n,,51,2018-05-22T19:54:16Z,417,total,processes,host.local\r\n,,52,2018-05-22T19:53:26Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:36Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:46Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:56Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:54:06Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:54:16Z,8589934592,total,swap,host.local\r\n,,53,2018-05-22T19:53:26Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:36Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:46Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:56Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:54:06Z,1,unknown,processes,host.local\r\n,,53,2018-05-22T19:54:16Z,0,unknown,processes,host.local\r\n,,54,2018-05-22T19:53:26Z,1320630,uptime,system,host.local\r\n,,54,2018-05-22T19:53:36Z,1320640,uptime,system,host.local\r\n,,54,2018-05-22T19:53:46Z,1320650,uptime,system,host.local\r\n,,54,2018-05-22T19:53:56Z,1320660,uptime,system,host.local\r\n,,54,2018-05-22T19:54:06Z,1320670,uptime,system,host.local\r\n,,54,2018-05-22T19:54:16Z,1320680,uptime,system,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,cpu,host\r\n,,55,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,56,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu0,host.local\r\n,,57,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu1,host.local\r\n,,58,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu2,host.local\r\n,,59,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu3,host.local\r\n,,60,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu4,host.local\r\n,,61,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu5,host.local\r\n,,62,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu6,host.local\r\n,,63,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu7,host.local\r\n,,64,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,65,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,66,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,67,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,68,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,69,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,70,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,71,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,72,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,73,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n,,74,2018-05-22T19:53:26Z,79.6,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:36Z,76.95390781563127,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:46Z,77.72227772227772,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:56Z,78.1,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:54:06Z,53.3,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:54:16Z,73.8,usage_idle,cpu,cpu0,host.local\r\n,,75,2018-05-22T19:53:26Z,98.3016983016983,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:36Z,96.29629629629629,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:46Z,98.4,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:56Z,98.1018981018981,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:54:06Z,81.58158158158159,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:54:16Z,96.7,usage_idle,cpu,cpu1,host.local\r\n,,76,2018-05-22T19:53:26Z,86.88688688688688,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:36Z,84.51548451548452,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:46Z,85.98598598598599,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:56Z,86.2,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:54:06Z,55.6,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:54:16Z,81.6,usage_idle,cpu,cpu2,host.local\r\n,,77,2018-05-22T19:53:26Z,98.1018981018981,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:36Z,96.4,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:46Z,98.2,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:56Z,98.09809809809809,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:54:06Z,80.4,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:54:16Z,96.8,usage_idle,cpu,cpu3,host.local\r\n,,78,2018-05-22T19:53:26Z,86.88688688688688,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:36Z,84.4,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:46Z,85.6,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:56Z,86.52694610778443,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:54:06Z,56.412825651302605,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:54:16Z,80.4,usage_idle,cpu,cpu4,host.local\r\n,,79,2018-05-22T19:53:26Z,98.3,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:36Z,96.2037962037962,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:46Z,98.1981981981982,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:56Z,98.1,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:54:06Z,81.21878121878122,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:54:16Z,96.7967967967968,usage_idle,cpu,cpu5,host.local\r\n,,80,2018-05-22T19:53:26Z,87.58758758758759,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:36Z,84.88488488488488,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:46Z,86.4,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:56Z,84.91508491508492,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:54:06Z,57.1,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:54:16Z,80.5,usage_idle,cpu,cpu6,host.local\r\n,,81,2018-05-22T19:53:26Z,98.2,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:36Z,96.40359640359641,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:46Z,98.29829829829829,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:56Z,98.2,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:54:06Z,80.8,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:54:16Z,96.5965965965966,usage_idle,cpu,cpu7,host.local\r\n,,82,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,83,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,84,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,85,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,86,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,87,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,88,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,89,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,90,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,91,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,92,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu0,host.local\r\n,,93,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu1,host.local\r\n,,94,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu2,host.local\r\n,,95,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu3,host.local\r\n,,96,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu4,host.local\r\n,,97,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu5,host.local\r\n,,98,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu6,host.local\r\n,,99,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu7,host.local\r\n,,100,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,101,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu0,host.local\r\n,,102,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu1,host.local\r\n,,103,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu2,host.local\r\n,,104,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu3,host.local\r\n,,105,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu4,host.local\r\n,,106,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu5,host.local\r\n,,107,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu6,host.local\r\n,,108,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu7,host.local\r\n,,109,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,110,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,111,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,112,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,113,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,114,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,115,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,116,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,117,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,118,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,119,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu0,host.local\r\n,,120,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu1,host.local\r\n,,121,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu2,host.local\r\n,,122,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu3,host.local\r\n,,123,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu4,host.local\r\n,,124,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu5,host.local\r\n,,125,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu6,host.local\r\n,,126,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu7,host.local\r\n,,127,2018-05-22T19:53:26Z,3.4254281785223153,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:36Z,4.488061007625953,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:46Z,3.6384096024006003,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:56Z,3.5361739347744594,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:54:06Z,3.675918979744936,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:54:16Z,4.888111013876735,usage_system,cpu,cpu-total,host.local\r\n,,128,2018-05-22T19:53:26Z,11.6,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:36Z,12.424849699398798,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:46Z,12.187812187812188,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:56Z,11.8,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:54:06Z,9.5,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:54:16Z,13.9,usage_system,cpu,cpu0,host.local\r\n,,129,2018-05-22T19:53:26Z,0.4995004995004995,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:36Z,1.7017017017017018,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:46Z,0.4,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:56Z,0.5994005994005994,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:54:06Z,1.1011011011011012,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:54:16Z,1.1,usage_system,cpu,cpu1,host.local\r\n,,130,2018-05-22T19:53:26Z,4.504504504504505,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:36Z,5.794205794205794,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:46Z,4.904904904904905,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:56Z,4.7,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:54:06Z,4.9,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:54:16Z,6.6,usage_system,cpu,cpu2,host.local\r\n,,131,2018-05-22T19:53:26Z,0.5994005994005994,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:36Z,1.5,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:46Z,0.6,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:56Z,0.5005005005005005,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:54:06Z,1.9,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:54:16Z,1.1,usage_system,cpu,cpu3,host.local\r\n,,132,2018-05-22T19:53:26Z,4.804804804804805,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:36Z,6,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:46Z,5.1,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:56Z,4.8902195608782435,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:54:06Z,4.709418837675351,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:54:16Z,6.9,usage_system,cpu,cpu4,host.local\r\n,,133,2018-05-22T19:53:26Z,0.5,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:36Z,1.5984015984015985,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:46Z,0.6006006006006006,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:56Z,0.5,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:54:06Z,1.098901098901099,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:54:16Z,1.1011011011011012,usage_system,cpu,cpu5,host.local\r\n,,134,2018-05-22T19:53:26Z,4.404404404404405,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:36Z,5.605605605605605,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:46Z,4.8,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:56Z,4.795204795204795,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:54:06Z,4.8,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:54:16Z,7.1,usage_system,cpu,cpu6,host.local\r\n,,135,2018-05-22T19:53:26Z,0.5,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:36Z,1.2987012987012987,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:46Z,0.5005005005005005,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:56Z,0.5,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:54:06Z,1.4,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:54:16Z,1.2012012012012012,usage_system,cpu,cpu7,host.local\r\n,,136,2018-05-22T19:53:26Z,4.838104763095387,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:36Z,6.00075009376172,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:46Z,5.263815953988497,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:56Z,5.435461701861802,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:54:06Z,28.019504876219056,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:54:16Z,7.225903237904738,usage_user,cpu,cpu-total,host.local\r\n,,137,2018-05-22T19:53:26Z,8.8,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:36Z,10.62124248496994,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:46Z,10.08991008991009,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:56Z,10.1,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:54:06Z,37.2,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:54:16Z,12.3,usage_user,cpu,cpu0,host.local\r\n,,138,2018-05-22T19:53:26Z,1.1988011988011988,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:36Z,2.002002002002002,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:46Z,1.2,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:56Z,1.2987012987012987,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:54:06Z,17.31731731731732,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:54:16Z,2.2,usage_user,cpu,cpu1,host.local\r\n,,139,2018-05-22T19:53:26Z,8.608608608608609,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:36Z,9.69030969030969,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:46Z,9.10910910910911,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:56Z,9.1,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:54:06Z,39.5,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:54:16Z,11.8,usage_user,cpu,cpu2,host.local\r\n,,140,2018-05-22T19:53:26Z,1.2987012987012987,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:36Z,2.1,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:46Z,1.2,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:56Z,1.4014014014014013,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:54:06Z,17.7,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:54:16Z,2.1,usage_user,cpu,cpu3,host.local\r\n,,141,2018-05-22T19:53:26Z,8.308308308308309,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:36Z,9.6,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:46Z,9.3,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:56Z,8.582834331337326,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:54:06Z,38.877755511022045,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:54:16Z,12.7,usage_user,cpu,cpu4,host.local\r\n,,142,2018-05-22T19:53:26Z,1.2,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:36Z,2.197802197802198,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:46Z,1.2012012012012012,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:56Z,1.4,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:54:06Z,17.68231768231768,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:54:16Z,2.1021021021021022,usage_user,cpu,cpu5,host.local\r\n,,143,2018-05-22T19:53:26Z,8.008008008008009,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:36Z,9.50950950950951,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:46Z,8.8,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:56Z,10.289710289710289,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:54:06Z,38.1,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:54:16Z,12.4,usage_user,cpu,cpu6,host.local\r\n,,144,2018-05-22T19:53:26Z,1.3,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:36Z,2.2977022977022976,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:46Z,1.2012012012012012,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:56Z,1.3,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:54:06Z,17.8,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:54:16Z,2.2022022022022023,usage_user,cpu,cpu7,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,145,2018-05-22T19:53:26Z,171272577024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:36Z,171272609792,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:46Z,171273089024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:56Z,171273089024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:54:06Z,171271102464,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:54:16Z,171272134656,used,disk,disk1s1,apfs,host.local,/\r\n,,146,2018-05-22T19:53:26Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:36Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:46Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:56Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:54:06Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:54:16Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,147,2018-05-22T19:53:26Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:36Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:46Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:56Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:54:06Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:54:16Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,148,2018-05-22T19:53:26Z,10832478208,used,mem,host.local\r\n,,148,2018-05-22T19:53:36Z,10774417408,used,mem,host.local\r\n,,148,2018-05-22T19:53:46Z,10718109696,used,mem,host.local\r\n,,148,2018-05-22T19:53:56Z,10779672576,used,mem,host.local\r\n,,148,2018-05-22T19:54:06Z,10785837056,used,mem,host.local\r\n,,148,2018-05-22T19:54:16Z,10731827200,used,mem,host.local\r\n,,149,2018-05-22T19:53:26Z,7128219648,used,swap,host.local\r\n,,149,2018-05-22T19:53:36Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:53:46Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:53:56Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:54:06Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:54:16Z,7098859520,used,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,150,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,151,2018-05-22T19:53:26Z,2.946361076908575,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:36Z,2.9463613712677055,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:46Z,2.946365676276709,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:56Z,2.946365676276709,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:54:06Z,2.946347830808579,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:54:16Z,2.9463571030660702,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,152,2018-05-22T19:53:26Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:36Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:46Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:56Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:54:06Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:54:16Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,153,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:36Z,62.71536350250244,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:46Z,62.38760948181152,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:56Z,62.74595260620117,used_percent,mem,host.local\r\n,,153,2018-05-22T19:54:06Z,62.78183460235596,used_percent,mem,host.local\r\n,,153,2018-05-22T19:54:16Z,62.46745586395264,used_percent,mem,host.local\r\n,,154,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,155,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,156,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,157,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,158,2018-05-22T19:53:26Z,373674287104,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:36Z,373675814912,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:46Z,373676670976,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:56Z,373676830720,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:54:06Z,373677928448,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:54:16Z,373684617216,write_bytes,diskio,host.local,disk0\r\n,,159,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk2\r\n,,160,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk3\r\n,,161,2018-05-22T19:53:26Z,11748980,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:36Z,11749110,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:46Z,11749148,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:56Z,11749195,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:54:06Z,11749315,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:54:16Z,11749365,write_time,diskio,host.local,disk0\r\n,,162,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk2\r\n,,163,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk3\r\n,,164,2018-05-22T19:53:26Z,12385052,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:36Z,12385245,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:46Z,12385303,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:56Z,12385330,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:54:06Z,12385531,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:54:16Z,12385646,writes,diskio,host.local,disk0\r\n,,165,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk2\r\n,,166,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,167,2018-05-22T19:53:26Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:36Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:46Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:56Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:54:06Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:54:16Z,0,zombies,processes,host.local\r\n\"\noutData = \"\r\n#datatype,string,long,string\r\n#group,false,false,false\r\n#default,_result,,\r\n,result,table,_value\r\n,,0,_start\r\n,,0,_stop\r\n,,0,_field\r\n,,0,_measurement\r\n,,0,host\r\n,,0,device\r\n,,0,fstype\r\n,,0,path\r\n,,0,name\r\n,,0,cpu\r\n\"\nt_show_all_tag_keys = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keys()\n    |> group()\n    |> distinct()\n    |> keep(columns: [\"_value\"])\n\ntest _show_all_tag_keys = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_show_all_tag_keys})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "show_all_tag_keys_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "show_all_tag_keys_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "show_all_tag_keys_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "show_all_tag_keys_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   1116,
					},
					File:   "show_all_tag_keys_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,0,2018-05-22T19:53:26Z,6535598080,active,mem,host.local\r\n,,0,2018-05-22T19:53:36Z,6390587392,active,mem,host.local\r\n,,0,2018-05-22T19:53:46Z,6445174784,active,mem,host.local\r\n,,0,2018-05-22T19:53:56Z,6387265536,active,mem,host.local\r\n,,0,2018-05-22T19:54:06Z,6375489536,active,mem,host.local\r\n,,0,2018-05-22T19:54:16Z,6427201536,active,mem,host.local\r\n,,1,2018-05-22T19:53:26Z,6347390976,available,mem,host.local\r\n,,1,2018-05-22T19:53:36Z,6405451776,available,mem,host.local\r\n,,1,2018-05-22T19:53:46Z,6461759488,available,mem,host.local\r\n,,1,2018-05-22T19:53:56Z,6400196608,available,mem,host.local\r\n,,1,2018-05-22T19:54:06Z,6394032128,available,mem,host.local\r\n,,1,2018-05-22T19:54:16Z,6448041984,available,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,2,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host.local\r\n,,2,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host.local\r\n,,2,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,3,2018-05-22T19:53:26Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:36Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:46Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:56Z,2,blocked,processes,host.local\r\n,,3,2018-05-22T19:54:06Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:54:16Z,0,blocked,processes,host.local\r\n,,4,2018-05-22T19:53:26Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:36Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:46Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:56Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:54:06Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:54:16Z,0,buffered,mem,host.local\r\n,,5,2018-05-22T19:53:26Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:36Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:46Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:56Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:54:06Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:54:16Z,0,cached,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,6,2018-05-22T19:53:26Z,318324641792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:36Z,318324609024,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:46Z,318324129792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:56Z,318324129792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:54:06Z,318326116352,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:54:16Z,318325084160,free,disk,disk1s1,apfs,host.local,/\r\n,,7,2018-05-22T19:53:26Z,318324641792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:36Z,318324609024,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:46Z,318324129792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:56Z,318324129792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:54:06Z,318326116352,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:54:16Z,318325084160,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,8,2018-05-22T19:53:26Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:36Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:46Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:56Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:54:06Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:54:16Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,9,2018-05-22T19:53:26Z,54624256,free,mem,host.local\r\n,,9,2018-05-22T19:53:36Z,17481728,free,mem,host.local\r\n,,9,2018-05-22T19:53:46Z,17805312,free,mem,host.local\r\n,,9,2018-05-22T19:53:56Z,16089088,free,mem,host.local\r\n,,9,2018-05-22T19:54:06Z,20774912,free,mem,host.local\r\n,,9,2018-05-22T19:54:16Z,20930560,free,mem,host.local\r\n,,10,2018-05-22T19:53:26Z,1461714944,free,swap,host.local\r\n,,10,2018-05-22T19:53:36Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:53:46Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:53:56Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:54:06Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:54:16Z,1491075072,free,swap,host.local\r\n,,11,2018-05-22T19:53:26Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:36Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:46Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:56Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:54:06Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:54:16Z,0,idle,processes,host.local\r\n,,12,2018-05-22T19:53:26Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:36Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:46Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:56Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:54:06Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:54:16Z,0,in,swap,host.local\r\n,,13,2018-05-22T19:53:26Z,6292766720,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:36Z,6387970048,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:46Z,6443954176,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:56Z,6384107520,inactive,mem,host.local\r\n,,13,2018-05-22T19:54:06Z,6373257216,inactive,mem,host.local\r\n,,13,2018-05-22T19:54:16Z,6427111424,inactive,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,14,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:36Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:46Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:56Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:54:06Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:54:16Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,15,2018-05-22T19:53:26Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:36Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:46Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:56Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:54:06Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:54:16Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,16,2018-05-22T19:53:26Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:36Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:46Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:56Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:54:06Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:54:16Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,17,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,18,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,19,2018-05-22T19:53:26Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:36Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:46Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:56Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:54:06Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:54:16Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,20,2018-05-22T19:53:26Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:36Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:46Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:56Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:54:06Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:54:16Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,21,2018-05-22T19:53:26Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:36Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:46Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:56Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:54:06Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:54:16Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,22,2018-05-22T19:53:26Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:36Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:46Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:56Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:54:06Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:54:16Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,23,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:56Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:54:06Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:54:16Z,3929,io_time,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,27,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,28,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,29,2018-05-22T19:53:26Z,1.83,load1,system,host.local\r\n,,29,2018-05-22T19:53:36Z,1.7,load1,system,host.local\r\n,,29,2018-05-22T19:53:46Z,1.74,load1,system,host.local\r\n,,29,2018-05-22T19:53:56Z,1.63,load1,system,host.local\r\n,,29,2018-05-22T19:54:06Z,1.91,load1,system,host.local\r\n,,29,2018-05-22T19:54:16Z,1.84,load1,system,host.local\r\n,,30,2018-05-22T19:53:26Z,1.98,load15,system,host.local\r\n,,30,2018-05-22T19:53:36Z,1.97,load15,system,host.local\r\n,,30,2018-05-22T19:53:46Z,1.97,load15,system,host.local\r\n,,30,2018-05-22T19:53:56Z,1.96,load15,system,host.local\r\n,,30,2018-05-22T19:54:06Z,1.98,load15,system,host.local\r\n,,30,2018-05-22T19:54:16Z,1.97,load15,system,host.local\r\n,,31,2018-05-22T19:53:26Z,1.95,load5,system,host.local\r\n,,31,2018-05-22T19:53:36Z,1.92,load5,system,host.local\r\n,,31,2018-05-22T19:53:46Z,1.92,load5,system,host.local\r\n,,31,2018-05-22T19:53:56Z,1.89,load5,system,host.local\r\n,,31,2018-05-22T19:54:06Z,1.94,load5,system,host.local\r\n,,31,2018-05-22T19:54:16Z,1.93,load5,system,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,32,2018-05-22T19:53:26Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:36Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:46Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:56Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:54:06Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:54:16Z,8,n_cpus,system,host.local\r\n,,33,2018-05-22T19:53:26Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:36Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:46Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:56Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:54:06Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:54:16Z,5,n_users,system,host.local\r\n,,34,2018-05-22T19:53:26Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:36Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:46Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:56Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:54:06Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:54:16Z,0,out,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,35,2018-05-22T19:53:26Z,228569833472,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:36Z,228577058816,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:46Z,228583690240,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n,,36,2018-05-22T19:53:26Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:36Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:46Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,37,2018-05-22T19:53:26Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:36Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:46Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,38,2018-05-22T19:53:26Z,3455708,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:36Z,3455784,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:46Z,3455954,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:56Z,3456031,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:54:06Z,3456184,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:54:16Z,3456390,read_time,diskio,host.local,disk0\r\n,,39,2018-05-22T19:53:26Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:36Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:46Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:56Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:54:06Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:54:16Z,648,read_time,diskio,host.local,disk2\r\n,,40,2018-05-22T19:53:26Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:36Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:46Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:56Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:54:06Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:54:16Z,3929,read_time,diskio,host.local,disk3\r\n,,41,2018-05-22T19:53:26Z,6129420,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:36Z,6129483,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:46Z,6129801,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:56Z,6129864,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:54:06Z,6130176,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:54:16Z,6130461,reads,diskio,host.local,disk0\r\n,,42,2018-05-22T19:53:26Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:36Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:46Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:56Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:54:06Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:54:16Z,729,reads,diskio,host.local,disk2\r\n,,43,2018-05-22T19:53:26Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:36Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:46Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:56Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:54:06Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:54:16Z,100,reads,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,44,2018-05-22T19:53:26Z,3,running,processes,host.local\r\n,,44,2018-05-22T19:53:36Z,1,running,processes,host.local\r\n,,44,2018-05-22T19:53:46Z,1,running,processes,host.local\r\n,,44,2018-05-22T19:53:56Z,2,running,processes,host.local\r\n,,44,2018-05-22T19:54:06Z,2,running,processes,host.local\r\n,,44,2018-05-22T19:54:16Z,3,running,processes,host.local\r\n,,45,2018-05-22T19:53:26Z,414,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:36Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:46Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:56Z,414,sleeping,processes,host.local\r\n,,45,2018-05-22T19:54:06Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:54:16Z,414,sleeping,processes,host.local\r\n,,46,2018-05-22T19:53:26Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:36Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:46Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:56Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:54:06Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:54:16Z,0,stopped,processes,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,47,2018-05-22T19:53:26Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:36Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:46Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:56Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:54:06Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:54:16Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,48,2018-05-22T19:53:26Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:36Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:46Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:56Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:54:06Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:54:16Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,49,2018-05-22T19:53:26Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:36Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:46Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:56Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:54:06Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:54:16Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,50,2018-05-22T19:53:26Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:36Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:46Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:56Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:54:06Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:54:16Z,17179869184,total,mem,host.local\r\n,,51,2018-05-22T19:53:26Z,417,total,processes,host.local\r\n,,51,2018-05-22T19:53:36Z,416,total,processes,host.local\r\n,,51,2018-05-22T19:53:46Z,416,total,processes,host.local\r\n,,51,2018-05-22T19:53:56Z,418,total,processes,host.local\r\n,,51,2018-05-22T19:54:06Z,418,total,processes,host.local\r\n,,51,2018-05-22T19:54:16Z,417,total,processes,host.local\r\n,,52,2018-05-22T19:53:26Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:36Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:46Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:56Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:54:06Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:54:16Z,8589934592,total,swap,host.local\r\n,,53,2018-05-22T19:53:26Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:36Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:46Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:56Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:54:06Z,1,unknown,processes,host.local\r\n,,53,2018-05-22T19:54:16Z,0,unknown,processes,host.local\r\n,,54,2018-05-22T19:53:26Z,1320630,uptime,system,host.local\r\n,,54,2018-05-22T19:53:36Z,1320640,uptime,system,host.local\r\n,,54,2018-05-22T19:53:46Z,1320650,uptime,system,host.local\r\n,,54,2018-05-22T19:53:56Z,1320660,uptime,system,host.local\r\n,,54,2018-05-22T19:54:06Z,1320670,uptime,system,host.local\r\n,,54,2018-05-22T19:54:16Z,1320680,uptime,system,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,cpu,host\r\n,,55,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,56,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu0,host.local\r\n,,57,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu1,host.local\r\n,,58,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu2,host.local\r\n,,59,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu3,host.local\r\n,,60,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu4,host.local\r\n,,61,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu5,host.local\r\n,,62,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu6,host.local\r\n,,63,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu7,host.local\r\n,,64,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,65,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,66,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,67,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,68,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,69,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,70,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,71,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,72,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,73,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n,,74,2018-05-22T19:53:26Z,79.6,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:36Z,76.95390781563127,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:46Z,77.72227772227772,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:56Z,78.1,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:54:06Z,53.3,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:54:16Z,73.8,usage_idle,cpu,cpu0,host.local\r\n,,75,2018-05-22T19:53:26Z,98.3016983016983,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:36Z,96.29629629629629,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:46Z,98.4,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:56Z,98.1018981018981,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:54:06Z,81.58158158158159,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:54:16Z,96.7,usage_idle,cpu,cpu1,host.local\r\n,,76,2018-05-22T19:53:26Z,86.88688688688688,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:36Z,84.51548451548452,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:46Z,85.98598598598599,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:56Z,86.2,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:54:06Z,55.6,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:54:16Z,81.6,usage_idle,cpu,cpu2,host.local\r\n,,77,2018-05-22T19:53:26Z,98.1018981018981,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:36Z,96.4,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:46Z,98.2,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:56Z,98.09809809809809,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:54:06Z,80.4,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:54:16Z,96.8,usage_idle,cpu,cpu3,host.local\r\n,,78,2018-05-22T19:53:26Z,86.88688688688688,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:36Z,84.4,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:46Z,85.6,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:56Z,86.52694610778443,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:54:06Z,56.412825651302605,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:54:16Z,80.4,usage_idle,cpu,cpu4,host.local\r\n,,79,2018-05-22T19:53:26Z,98.3,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:36Z,96.2037962037962,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:46Z,98.1981981981982,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:56Z,98.1,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:54:06Z,81.21878121878122,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:54:16Z,96.7967967967968,usage_idle,cpu,cpu5,host.local\r\n,,80,2018-05-22T19:53:26Z,87.58758758758759,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:36Z,84.88488488488488,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:46Z,86.4,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:56Z,84.91508491508492,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:54:06Z,57.1,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:54:16Z,80.5,usage_idle,cpu,cpu6,host.local\r\n,,81,2018-05-22T19:53:26Z,98.2,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:36Z,96.40359640359641,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:46Z,98.29829829829829,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:56Z,98.2,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:54:06Z,80.8,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:54:16Z,96.5965965965966,usage_idle,cpu,cpu7,host.local\r\n,,82,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,83,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,84,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,85,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,86,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,87,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,88,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,89,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,90,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,91,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,92,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu0,host.local\r\n,,93,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu1,host.local\r\n,,94,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu2,host.local\r\n,,95,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu3,host.local\r\n,,96,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu4,host.local\r\n,,97,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu5,host.local\r\n,,98,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu6,host.local\r\n,,99,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu7,host.local\r\n,,100,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,101,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu0,host.local\r\n,,102,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu1,host.local\r\n,,103,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu2,host.local\r\n,,104,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu3,host.local\r\n,,105,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu4,host.local\r\n,,106,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu5,host.local\r\n,,107,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu6,host.local\r\n,,108,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu7,host.local\r\n,,109,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,110,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,111,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,112,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,113,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,114,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,115,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,116,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,117,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,118,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,119,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu0,host.local\r\n,,120,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu1,host.local\r\n,,121,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu2,host.local\r\n,,122,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu3,host.local\r\n,,123,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu4,host.local\r\n,,124,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu5,host.local\r\n,,125,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu6,host.local\r\n,,126,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu7,host.local\r\n,,127,2018-05-22T19:53:26Z,3.4254281785223153,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:36Z,4.488061007625953,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:46Z,3.6384096024006003,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:56Z,3.5361739347744594,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:54:06Z,3.675918979744936,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:54:16Z,4.888111013876735,usage_system,cpu,cpu-total,host.local\r\n,,128,2018-05-22T19:53:26Z,11.6,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:36Z,12.424849699398798,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:46Z,12.187812187812188,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:56Z,11.8,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:54:06Z,9.5,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:54:16Z,13.9,usage_system,cpu,cpu0,host.local\r\n,,129,2018-05-22T19:53:26Z,0.4995004995004995,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:36Z,1.7017017017017018,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:46Z,0.4,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:56Z,0.5994005994005994,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:54:06Z,1.1011011011011012,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:54:16Z,1.1,usage_system,cpu,cpu1,host.local\r\n,,130,2018-05-22T19:53:26Z,4.504504504504505,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:36Z,5.794205794205794,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:46Z,4.904904904904905,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:56Z,4.7,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:54:06Z,4.9,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:54:16Z,6.6,usage_system,cpu,cpu2,host.local\r\n,,131,2018-05-22T19:53:26Z,0.5994005994005994,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:36Z,1.5,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:46Z,0.6,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:56Z,0.5005005005005005,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:54:06Z,1.9,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:54:16Z,1.1,usage_system,cpu,cpu3,host.local\r\n,,132,2018-05-22T19:53:26Z,4.804804804804805,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:36Z,6,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:46Z,5.1,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:56Z,4.8902195608782435,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:54:06Z,4.709418837675351,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:54:16Z,6.9,usage_system,cpu,cpu4,host.local\r\n,,133,2018-05-22T19:53:26Z,0.5,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:36Z,1.5984015984015985,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:46Z,0.6006006006006006,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:56Z,0.5,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:54:06Z,1.098901098901099,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:54:16Z,1.1011011011011012,usage_system,cpu,cpu5,host.local\r\n,,134,2018-05-22T19:53:26Z,4.404404404404405,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:36Z,5.605605605605605,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:46Z,4.8,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:56Z,4.795204795204795,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:54:06Z,4.8,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:54:16Z,7.1,usage_system,cpu,cpu6,host.local\r\n,,135,2018-05-22T19:53:26Z,0.5,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:36Z,1.2987012987012987,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:46Z,0.5005005005005005,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:56Z,0.5,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:54:06Z,1.4,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:54:16Z,1.2012012012012012,usage_system,cpu,cpu7,host.local\r\n,,136,2018-05-22T19:53:26Z,4.838104763095387,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:36Z,6.00075009376172,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:46Z,5.263815953988497,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:56Z,5.435461701861802,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:54:06Z,28.019504876219056,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:54:16Z,7.225903237904738,usage_user,cpu,cpu-total,host.local\r\n,,137,2018-05-22T19:53:26Z,8.8,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:36Z,10.62124248496994,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:46Z,10.08991008991009,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:56Z,10.1,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:54:06Z,37.2,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:54:16Z,12.3,usage_user,cpu,cpu0,host.local\r\n,,138,2018-05-22T19:53:26Z,1.1988011988011988,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:36Z,2.002002002002002,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:46Z,1.2,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:56Z,1.2987012987012987,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:54:06Z,17.31731731731732,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:54:16Z,2.2,usage_user,cpu,cpu1,host.local\r\n,,139,2018-05-22T19:53:26Z,8.608608608608609,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:36Z,9.69030969030969,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:46Z,9.10910910910911,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:56Z,9.1,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:54:06Z,39.5,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:54:16Z,11.8,usage_user,cpu,cpu2,host.local\r\n,,140,2018-05-22T19:53:26Z,1.2987012987012987,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:36Z,2.1,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:46Z,1.2,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:56Z,1.4014014014014013,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:54:06Z,17.7,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:54:16Z,2.1,usage_user,cpu,cpu3,host.local\r\n,,141,2018-05-22T19:53:26Z,8.308308308308309,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:36Z,9.6,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:46Z,9.3,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:56Z,8.582834331337326,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:54:06Z,38.877755511022045,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:54:16Z,12.7,usage_user,cpu,cpu4,host.local\r\n,,142,2018-05-22T19:53:26Z,1.2,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:36Z,2.197802197802198,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:46Z,1.2012012012012012,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:56Z,1.4,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:54:06Z,17.68231768231768,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:54:16Z,2.1021021021021022,usage_user,cpu,cpu5,host.local\r\n,,143,2018-05-22T19:53:26Z,8.008008008008009,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:36Z,9.50950950950951,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:46Z,8.8,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:56Z,10.289710289710289,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:54:06Z,38.1,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:54:16Z,12.4,usage_user,cpu,cpu6,host.local\r\n,,144,2018-05-22T19:53:26Z,1.3,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:36Z,2.2977022977022976,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:46Z,1.2012012012012012,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:56Z,1.3,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:54:06Z,17.8,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:54:16Z,2.2022022022022023,usage_user,cpu,cpu7,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,145,2018-05-22T19:53:26Z,171272577024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:36Z,171272609792,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:46Z,171273089024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:56Z,171273089024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:54:06Z,171271102464,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:54:16Z,171272134656,used,disk,disk1s1,apfs,host.local,/\r\n,,146,2018-05-22T19:53:26Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:36Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:46Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:56Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:54:06Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:54:16Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,147,2018-05-22T19:53:26Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:36Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:46Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:56Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:54:06Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:54:16Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,148,2018-05-22T19:53:26Z,10832478208,used,mem,host.local\r\n,,148,2018-05-22T19:53:36Z,10774417408,used,mem,host.local\r\n,,148,2018-05-22T19:53:46Z,10718109696,used,mem,host.local\r\n,,148,2018-05-22T19:53:56Z,10779672576,used,mem,host.local\r\n,,148,2018-05-22T19:54:06Z,10785837056,used,mem,host.local\r\n,,148,2018-05-22T19:54:16Z,10731827200,used,mem,host.local\r\n,,149,2018-05-22T19:53:26Z,7128219648,used,swap,host.local\r\n,,149,2018-05-22T19:53:36Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:53:46Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:53:56Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:54:06Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:54:16Z,7098859520,used,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,150,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,151,2018-05-22T19:53:26Z,2.946361076908575,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:36Z,2.9463613712677055,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:46Z,2.946365676276709,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:56Z,2.946365676276709,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:54:06Z,2.946347830808579,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:54:16Z,2.9463571030660702,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,152,2018-05-22T19:53:26Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:36Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:46Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:56Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:54:06Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:54:16Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,153,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:36Z,62.71536350250244,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:46Z,62.38760948181152,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:56Z,62.74595260620117,used_percent,mem,host.local\r\n,,153,2018-05-22T19:54:06Z,62.78183460235596,used_percent,mem,host.local\r\n,,153,2018-05-22T19:54:16Z,62.46745586395264,used_percent,mem,host.local\r\n,,154,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,155,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,156,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,157,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,158,2018-05-22T19:53:26Z,373674287104,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:36Z,373675814912,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:46Z,373676670976,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:56Z,373676830720,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:54:06Z,373677928448,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:54:16Z,373684617216,write_bytes,diskio,host.local,disk0\r\n,,159,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk2\r\n,,160,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk3\r\n,,161,2018-05-22T19:53:26Z,11748980,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:36Z,11749110,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:46Z,11749148,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:56Z,11749195,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:54:06Z,11749315,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:54:16Z,11749365,write_time,diskio,host.local,disk0\r\n,,162,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk2\r\n,,163,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk3\r\n,,164,2018-05-22T19:53:26Z,12385052,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:36Z,12385245,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:46Z,12385303,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:56Z,12385330,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:54:06Z,12385531,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:54:16Z,12385646,writes,diskio,host.local,disk0\r\n,,165,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk2\r\n,,166,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,167,2018-05-22T19:53:26Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:36Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:46Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:56Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:54:06Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:54:16Z,0,zombies,processes,host.local\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   1116,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,0,2018-05-22T19:53:26Z,6535598080,active,mem,host.local\r\n,,0,2018-05-22T19:53:36Z,6390587392,active,mem,host.local\r\n,,0,2018-05-22T19:53:46Z,6445174784,active,mem,host.local\r\n,,0,2018-05-22T19:53:56Z,6387265536,active,mem,host.local\r\n,,0,2018-05-22T19:54:06Z,6375489536,active,mem,host.local\r\n,,0,2018-05-22T19:54:16Z,6427201536,active,mem,host.local\r\n,,1,2018-05-22T19:53:26Z,6347390976,available,mem,host.local\r\n,,1,2018-05-22T19:53:36Z,6405451776,available,mem,host.local\r\n,,1,2018-05-22T19:53:46Z,6461759488,available,mem,host.local\r\n,,1,2018-05-22T19:53:56Z,6400196608,available,mem,host.local\r\n,,1,2018-05-22T19:54:06Z,6394032128,available,mem,host.local\r\n,,1,2018-05-22T19:54:16Z,6448041984,available,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,2,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host.local\r\n,,2,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host.local\r\n,,2,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,3,2018-05-22T19:53:26Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:36Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:46Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:56Z,2,blocked,processes,host.local\r\n,,3,2018-05-22T19:54:06Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:54:16Z,0,blocked,processes,host.local\r\n,,4,2018-05-22T19:53:26Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:36Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:46Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:56Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:54:06Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:54:16Z,0,buffered,mem,host.local\r\n,,5,2018-05-22T19:53:26Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:36Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:46Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:56Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:54:06Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:54:16Z,0,cached,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,6,2018-05-22T19:53:26Z,318324641792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:36Z,318324609024,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:46Z,318324129792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:56Z,318324129792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:54:06Z,318326116352,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:54:16Z,318325084160,free,disk,disk1s1,apfs,host.local,/\r\n,,7,2018-05-22T19:53:26Z,318324641792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:36Z,318324609024,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:46Z,318324129792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:56Z,318324129792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:54:06Z,318326116352,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:54:16Z,318325084160,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,8,2018-05-22T19:53:26Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:36Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:46Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:56Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:54:06Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:54:16Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,9,2018-05-22T19:53:26Z,54624256,free,mem,host.local\r\n,,9,2018-05-22T19:53:36Z,17481728,free,mem,host.local\r\n,,9,2018-05-22T19:53:46Z,17805312,free,mem,host.local\r\n,,9,2018-05-22T19:53:56Z,16089088,free,mem,host.local\r\n,,9,2018-05-22T19:54:06Z,20774912,free,mem,host.local\r\n,,9,2018-05-22T19:54:16Z,20930560,free,mem,host.local\r\n,,10,2018-05-22T19:53:26Z,1461714944,free,swap,host.local\r\n,,10,2018-05-22T19:53:36Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:53:46Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:53:56Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:54:06Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:54:16Z,1491075072,free,swap,host.local\r\n,,11,2018-05-22T19:53:26Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:36Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:46Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:56Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:54:06Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:54:16Z,0,idle,processes,host.local\r\n,,12,2018-05-22T19:53:26Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:36Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:46Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:56Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:54:06Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:54:16Z,0,in,swap,host.local\r\n,,13,2018-05-22T19:53:26Z,6292766720,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:36Z,6387970048,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:46Z,6443954176,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:56Z,6384107520,inactive,mem,host.local\r\n,,13,2018-05-22T19:54:06Z,6373257216,inactive,mem,host.local\r\n,,13,2018-05-22T19:54:16Z,6427111424,inactive,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,14,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:36Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:46Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:56Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:54:06Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:54:16Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,15,2018-05-22T19:53:26Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:36Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:46Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:56Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:54:06Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:54:16Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,16,2018-05-22T19:53:26Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:36Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:46Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:56Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:54:06Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:54:16Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,17,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,18,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,19,2018-05-22T19:53:26Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:36Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:46Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:56Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:54:06Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:54:16Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,20,2018-05-22T19:53:26Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:36Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:46Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:56Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:54:06Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:54:16Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,21,2018-05-22T19:53:26Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:36Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:46Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:56Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:54:06Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:54:16Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,22,2018-05-22T19:53:26Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:36Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:46Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:56Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:54:06Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:54:16Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,23,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:56Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:54:06Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:54:16Z,3929,io_time,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,27,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,28,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,29,2018-05-22T19:53:26Z,1.83,load1,system,host.local\r\n,,29,2018-05-22T19:53:36Z,1.7,load1,system,host.local\r\n,,29,2018-05-22T19:53:46Z,1.74,load1,system,host.local\r\n,,29,2018-05-22T19:53:56Z,1.63,load1,system,host.local\r\n,,29,2018-05-22T19:54:06Z,1.91,load1,system,host.local\r\n,,29,2018-05-22T19:54:16Z,1.84,load1,system,host.local\r\n,,30,2018-05-22T19:53:26Z,1.98,load15,system,host.local\r\n,,30,2018-05-22T19:53:36Z,1.97,load15,system,host.local\r\n,,30,2018-05-22T19:53:46Z,1.97,load15,system,host.local\r\n,,30,2018-05-22T19:53:56Z,1.96,load15,system,host.local\r\n,,30,2018-05-22T19:54:06Z,1.98,load15,system,host.local\r\n,,30,2018-05-22T19:54:16Z,1.97,load15,system,host.local\r\n,,31,2018-05-22T19:53:26Z,1.95,load5,system,host.local\r\n,,31,2018-05-22T19:53:36Z,1.92,load5,system,host.local\r\n,,31,2018-05-22T19:53:46Z,1.92,load5,system,host.local\r\n,,31,2018-05-22T19:53:56Z,1.89,load5,system,host.local\r\n,,31,2018-05-22T19:54:06Z,1.94,load5,system,host.local\r\n,,31,2018-05-22T19:54:16Z,1.93,load5,system,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,32,2018-05-22T19:53:26Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:36Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:46Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:56Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:54:06Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:54:16Z,8,n_cpus,system,host.local\r\n,,33,2018-05-22T19:53:26Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:36Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:46Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:56Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:54:06Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:54:16Z,5,n_users,system,host.local\r\n,,34,2018-05-22T19:53:26Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:36Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:46Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:56Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:54:06Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:54:16Z,0,out,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,35,2018-05-22T19:53:26Z,228569833472,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:36Z,228577058816,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:46Z,228583690240,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n,,36,2018-05-22T19:53:26Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:36Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:46Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,37,2018-05-22T19:53:26Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:36Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:46Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,38,2018-05-22T19:53:26Z,3455708,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:36Z,3455784,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:46Z,3455954,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:56Z,3456031,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:54:06Z,3456184,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:54:16Z,3456390,read_time,diskio,host.local,disk0\r\n,,39,2018-05-22T19:53:26Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:36Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:46Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:56Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:54:06Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:54:16Z,648,read_time,diskio,host.local,disk2\r\n,,40,2018-05-22T19:53:26Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:36Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:46Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:56Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:54:06Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:54:16Z,3929,read_time,diskio,host.local,disk3\r\n,,41,2018-05-22T19:53:26Z,6129420,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:36Z,6129483,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:46Z,6129801,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:56Z,6129864,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:54:06Z,6130176,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:54:16Z,6130461,reads,diskio,host.local,disk0\r\n,,42,2018-05-22T19:53:26Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:36Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:46Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:56Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:54:06Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:54:16Z,729,reads,diskio,host.local,disk2\r\n,,43,2018-05-22T19:53:26Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:36Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:46Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:56Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:54:06Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:54:16Z,100,reads,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,44,2018-05-22T19:53:26Z,3,running,processes,host.local\r\n,,44,2018-05-22T19:53:36Z,1,running,processes,host.local\r\n,,44,2018-05-22T19:53:46Z,1,running,processes,host.local\r\n,,44,2018-05-22T19:53:56Z,2,running,processes,host.local\r\n,,44,2018-05-22T19:54:06Z,2,running,processes,host.local\r\n,,44,2018-05-22T19:54:16Z,3,running,processes,host.local\r\n,,45,2018-05-22T19:53:26Z,414,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:36Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:46Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:56Z,414,sleeping,processes,host.local\r\n,,45,2018-05-22T19:54:06Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:54:16Z,414,sleeping,processes,host.local\r\n,,46,2018-05-22T19:53:26Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:36Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:46Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:56Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:54:06Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:54:16Z,0,stopped,processes,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,47,2018-05-22T19:53:26Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:36Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:46Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:56Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:54:06Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:54:16Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,48,2018-05-22T19:53:26Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:36Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:46Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:56Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:54:06Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:54:16Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,49,2018-05-22T19:53:26Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:36Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:46Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:56Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:54:06Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:54:16Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,50,2018-05-22T19:53:26Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:36Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:46Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:56Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:54:06Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:54:16Z,17179869184,total,mem,host.local\r\n,,51,2018-05-22T19:53:26Z,417,total,processes,host.local\r\n,,51,2018-05-22T19:53:36Z,416,total,processes,host.local\r\n,,51,2018-05-22T19:53:46Z,416,total,processes,host.local\r\n,,51,2018-05-22T19:53:56Z,418,total,processes,host.local\r\n,,51,2018-05-22T19:54:06Z,418,total,processes,host.local\r\n,,51,2018-05-22T19:54:16Z,417,total,processes,host.local\r\n,,52,2018-05-22T19:53:26Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:36Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:46Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:56Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:54:06Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:54:16Z,8589934592,total,swap,host.local\r\n,,53,2018-05-22T19:53:26Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:36Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:46Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:56Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:54:06Z,1,unknown,processes,host.local\r\n,,53,2018-05-22T19:54:16Z,0,unknown,processes,host.local\r\n,,54,2018-05-22T19:53:26Z,1320630,uptime,system,host.local\r\n,,54,2018-05-22T19:53:36Z,1320640,uptime,system,host.local\r\n,,54,2018-05-22T19:53:46Z,1320650,uptime,system,host.local\r\n,,54,2018-05-22T19:53:56Z,1320660,uptime,system,host.local\r\n,,54,2018-05-22T19:54:06Z,1320670,uptime,system,host.local\r\n,,54,2018-05-22T19:54:16Z,1320680,uptime,system,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,cpu,host\r\n,,55,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,56,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu0,host.local\r\n,,57,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu1,host.local\r\n,,58,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu2,host.local\r\n,,59,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu3,host.local\r\n,,60,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu4,host.local\r\n,,61,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu5,host.local\r\n,,62,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu6,host.local\r\n,,63,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu7,host.local\r\n,,64,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,65,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,66,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,67,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,68,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,69,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,70,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,71,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,72,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,73,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n,,74,2018-05-22T19:53:26Z,79.6,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:36Z,76.95390781563127,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:46Z,77.72227772227772,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:56Z,78.1,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:54:06Z,53.3,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:54:16Z,73.8,usage_idle,cpu,cpu0,host.local\r\n,,75,2018-05-22T19:53:26Z,98.3016983016983,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:36Z,96.29629629629629,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:46Z,98.4,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:56Z,98.1018981018981,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:54:06Z,81.58158158158159,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:54:16Z,96.7,usage_idle,cpu,cpu1,host.local\r\n,,76,2018-05-22T19:53:26Z,86.88688688688688,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:36Z,84.51548451548452,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:46Z,85.98598598598599,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:56Z,86.2,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:54:06Z,55.6,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:54:16Z,81.6,usage_idle,cpu,cpu2,host.local\r\n,,77,2018-05-22T19:53:26Z,98.1018981018981,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:36Z,96.4,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:46Z,98.2,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:56Z,98.09809809809809,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:54:06Z,80.4,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:54:16Z,96.8,usage_idle,cpu,cpu3,host.local\r\n,,78,2018-05-22T19:53:26Z,86.88688688688688,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:36Z,84.4,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:46Z,85.6,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:56Z,86.52694610778443,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:54:06Z,56.412825651302605,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:54:16Z,80.4,usage_idle,cpu,cpu4,host.local\r\n,,79,2018-05-22T19:53:26Z,98.3,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:36Z,96.2037962037962,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:46Z,98.1981981981982,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:56Z,98.1,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:54:06Z,81.21878121878122,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:54:16Z,96.7967967967968,usage_idle,cpu,cpu5,host.local\r\n,,80,2018-05-22T19:53:26Z,87.58758758758759,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:36Z,84.88488488488488,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:46Z,86.4,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:56Z,84.91508491508492,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:54:06Z,57.1,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:54:16Z,80.5,usage_idle,cpu,cpu6,host.local\r\n,,81,2018-05-22T19:53:26Z,98.2,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:36Z,96.40359640359641,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:46Z,98.29829829829829,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:56Z,98.2,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:54:06Z,80.8,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:54:16Z,96.5965965965966,usage_idle,cpu,cpu7,host.local\r\n,,82,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,83,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,84,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,85,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,86,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,87,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,88,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,89,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,90,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,91,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,92,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu0,host.local\r\n,,93,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu1,host.local\r\n,,94,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu2,host.local\r\n,,95,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu3,host.local\r\n,,96,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu4,host.local\r\n,,97,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu5,host.local\r\n,,98,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu6,host.local\r\n,,99,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu7,host.local\r\n,,100,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,101,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu0,host.local\r\n,,102,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu1,host.local\r\n,,103,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu2,host.local\r\n,,104,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu3,host.local\r\n,,105,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu4,host.local\r\n,,106,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu5,host.local\r\n,,107,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu6,host.local\r\n,,108,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu7,host.local\r\n,,109,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,110,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,111,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,112,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,113,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,114,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,115,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,116,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,117,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,118,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,119,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu0,host.local\r\n,,120,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu1,host.local\r\n,,121,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu2,host.local\r\n,,122,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu3,host.local\r\n,,123,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu4,host.local\r\n,,124,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu5,host.local\r\n,,125,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu6,host.local\r\n,,126,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu7,host.local\r\n,,127,2018-05-22T19:53:26Z,3.4254281785223153,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:36Z,4.488061007625953,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:46Z,3.6384096024006003,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:56Z,3.5361739347744594,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:54:06Z,3.675918979744936,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:54:16Z,4.888111013876735,usage_system,cpu,cpu-total,host.local\r\n,,128,2018-05-22T19:53:26Z,11.6,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:36Z,12.424849699398798,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:46Z,12.187812187812188,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:56Z,11.8,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:54:06Z,9.5,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:54:16Z,13.9,usage_system,cpu,cpu0,host.local\r\n,,129,2018-05-22T19:53:26Z,0.4995004995004995,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:36Z,1.7017017017017018,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:46Z,0.4,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:56Z,0.5994005994005994,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:54:06Z,1.1011011011011012,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:54:16Z,1.1,usage_system,cpu,cpu1,host.local\r\n,,130,2018-05-22T19:53:26Z,4.504504504504505,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:36Z,5.794205794205794,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:46Z,4.904904904904905,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:56Z,4.7,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:54:06Z,4.9,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:54:16Z,6.6,usage_system,cpu,cpu2,host.local\r\n,,131,2018-05-22T19:53:26Z,0.5994005994005994,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:36Z,1.5,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:46Z,0.6,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:56Z,0.5005005005005005,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:54:06Z,1.9,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:54:16Z,1.1,usage_system,cpu,cpu3,host.local\r\n,,132,2018-05-22T19:53:26Z,4.804804804804805,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:36Z,6,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:46Z,5.1,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:56Z,4.8902195608782435,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:54:06Z,4.709418837675351,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:54:16Z,6.9,usage_system,cpu,cpu4,host.local\r\n,,133,2018-05-22T19:53:26Z,0.5,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:36Z,1.5984015984015985,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:46Z,0.6006006006006006,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:56Z,0.5,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:54:06Z,1.098901098901099,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:54:16Z,1.1011011011011012,usage_system,cpu,cpu5,host.local\r\n,,134,2018-05-22T19:53:26Z,4.404404404404405,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:36Z,5.605605605605605,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:46Z,4.8,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:56Z,4.795204795204795,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:54:06Z,4.8,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:54:16Z,7.1,usage_system,cpu,cpu6,host.local\r\n,,135,2018-05-22T19:53:26Z,0.5,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:36Z,1.2987012987012987,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:46Z,0.5005005005005005,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:56Z,0.5,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:54:06Z,1.4,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:54:16Z,1.2012012012012012,usage_system,cpu,cpu7,host.local\r\n,,136,2018-05-22T19:53:26Z,4.838104763095387,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:36Z,6.00075009376172,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:46Z,5.263815953988497,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:56Z,5.435461701861802,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:54:06Z,28.019504876219056,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:54:16Z,7.225903237904738,usage_user,cpu,cpu-total,host.local\r\n,,137,2018-05-22T19:53:26Z,8.8,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:36Z,10.62124248496994,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:46Z,10.08991008991009,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:56Z,10.1,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:54:06Z,37.2,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:54:16Z,12.3,usage_user,cpu,cpu0,host.local\r\n,,138,2018-05-22T19:53:26Z,1.1988011988011988,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:36Z,2.002002002002002,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:46Z,1.2,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:56Z,1.2987012987012987,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:54:06Z,17.31731731731732,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:54:16Z,2.2,usage_user,cpu,cpu1,host.local\r\n,,139,2018-05-22T19:53:26Z,8.608608608608609,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:36Z,9.69030969030969,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:46Z,9.10910910910911,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:56Z,9.1,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:54:06Z,39.5,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:54:16Z,11.8,usage_user,cpu,cpu2,host.local\r\n,,140,2018-05-22T19:53:26Z,1.2987012987012987,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:36Z,2.1,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:46Z,1.2,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:56Z,1.4014014014014013,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:54:06Z,17.7,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:54:16Z,2.1,usage_user,cpu,cpu3,host.local\r\n,,141,2018-05-22T19:53:26Z,8.308308308308309,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:36Z,9.6,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:46Z,9.3,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:56Z,8.582834331337326,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:54:06Z,38.877755511022045,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:54:16Z,12.7,usage_user,cpu,cpu4,host.local\r\n,,142,2018-05-22T19:53:26Z,1.2,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:36Z,2.197802197802198,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:46Z,1.2012012012012012,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:56Z,1.4,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:54:06Z,17.68231768231768,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:54:16Z,2.1021021021021022,usage_user,cpu,cpu5,host.local\r\n,,143,2018-05-22T19:53:26Z,8.008008008008009,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:36Z,9.50950950950951,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:46Z,8.8,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:56Z,10.289710289710289,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:54:06Z,38.1,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:54:16Z,12.4,usage_user,cpu,cpu6,host.local\r\n,,144,2018-05-22T19:53:26Z,1.3,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:36Z,2.2977022977022976,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:46Z,1.2012012012012012,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:56Z,1.3,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:54:06Z,17.8,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:54:16Z,2.2022022022022023,usage_user,cpu,cpu7,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,145,2018-05-22T19:53:26Z,171272577024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:36Z,171272609792,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:46Z,171273089024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:56Z,171273089024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:54:06Z,171271102464,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:54:16Z,171272134656,used,disk,disk1s1,apfs,host.local,/\r\n,,146,2018-05-22T19:53:26Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:36Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:46Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:56Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:54:06Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:54:16Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,147,2018-05-22T19:53:26Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:36Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:46Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:56Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:54:06Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:54:16Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,148,2018-05-22T19:53:26Z,10832478208,used,mem,host.local\r\n,,148,2018-05-22T19:53:36Z,10774417408,used,mem,host.local\r\n,,148,2018-05-22T19:53:46Z,10718109696,used,mem,host.local\r\n,,148,2018-05-22T19:53:56Z,10779672576,used,mem,host.local\r\n,,148,2018-05-22T19:54:06Z,10785837056,used,mem,host.local\r\n,,148,2018-05-22T19:54:16Z,10731827200,used,mem,host.local\r\n,,149,2018-05-22T19:53:26Z,7128219648,used,swap,host.local\r\n,,149,2018-05-22T19:53:36Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:53:46Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:53:56Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:54:06Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:54:16Z,7098859520,used,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,150,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,151,2018-05-22T19:53:26Z,2.946361076908575,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:36Z,2.9463613712677055,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:46Z,2.946365676276709,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:56Z,2.946365676276709,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:54:06Z,2.946347830808579,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:54:16Z,2.9463571030660702,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,152,2018-05-22T19:53:26Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:36Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:46Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:56Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:54:06Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:54:16Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,153,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:36Z,62.71536350250244,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:46Z,62.38760948181152,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:56Z,62.74595260620117,used_percent,mem,host.local\r\n,,153,2018-05-22T19:54:06Z,62.78183460235596,used_percent,mem,host.local\r\n,,153,2018-05-22T19:54:16Z,62.46745586395264,used_percent,mem,host.local\r\n,,154,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,155,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,156,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,157,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,158,2018-05-22T19:53:26Z,373674287104,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:36Z,373675814912,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:46Z,373676670976,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:56Z,373676830720,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:54:06Z,373677928448,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:54:16Z,373684617216,write_bytes,diskio,host.local,disk0\r\n,,159,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk2\r\n,,160,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk3\r\n,,161,2018-05-22T19:53:26Z,11748980,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:36Z,11749110,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:46Z,11749148,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:56Z,11749195,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:54:06Z,11749315,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:54:16Z,11749365,write_time,diskio,host.local,disk0\r\n,,162,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk2\r\n,,163,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk3\r\n,,164,2018-05-22T19:53:26Z,12385052,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:36Z,12385245,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:46Z,12385303,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:56Z,12385330,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:54:06Z,12385531,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:54:16Z,12385646,writes,diskio,host.local,disk0\r\n,,165,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk2\r\n,,166,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,167,2018-05-22T19:53:26Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:36Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:46Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:56Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:54:06Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:54:16Z,0,zombies,processes,host.local\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,0,2018-05-22T19:53:26Z,6535598080,active,mem,host.local\r\n,,0,2018-05-22T19:53:36Z,6390587392,active,mem,host.local\r\n,,0,2018-05-22T19:53:46Z,6445174784,active,mem,host.local\r\n,,0,2018-05-22T19:53:56Z,6387265536,active,mem,host.local\r\n,,0,2018-05-22T19:54:06Z,6375489536,active,mem,host.local\r\n,,0,2018-05-22T19:54:16Z,6427201536,active,mem,host.local\r\n,,1,2018-05-22T19:53:26Z,6347390976,available,mem,host.local\r\n,,1,2018-05-22T19:53:36Z,6405451776,available,mem,host.local\r\n,,1,2018-05-22T19:53:46Z,6461759488,available,mem,host.local\r\n,,1,2018-05-22T19:53:56Z,6400196608,available,mem,host.local\r\n,,1,2018-05-22T19:54:06Z,6394032128,available,mem,host.local\r\n,,1,2018-05-22T19:54:16Z,6448041984,available,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,2,2018-05-22T19:53:26Z,36.946678161621094,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:36Z,37.28463649749756,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:46Z,37.61239051818848,available_percent,mem,host.local\r\n,,2,2018-05-22T19:53:56Z,37.25404739379883,available_percent,mem,host.local\r\n,,2,2018-05-22T19:54:06Z,37.21816539764404,available_percent,mem,host.local\r\n,,2,2018-05-22T19:54:16Z,37.53254413604736,available_percent,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,3,2018-05-22T19:53:26Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:36Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:46Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:53:56Z,2,blocked,processes,host.local\r\n,,3,2018-05-22T19:54:06Z,0,blocked,processes,host.local\r\n,,3,2018-05-22T19:54:16Z,0,blocked,processes,host.local\r\n,,4,2018-05-22T19:53:26Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:36Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:46Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:53:56Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:54:06Z,0,buffered,mem,host.local\r\n,,4,2018-05-22T19:54:16Z,0,buffered,mem,host.local\r\n,,5,2018-05-22T19:53:26Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:36Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:46Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:53:56Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:54:06Z,0,cached,mem,host.local\r\n,,5,2018-05-22T19:54:16Z,0,cached,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,6,2018-05-22T19:53:26Z,318324641792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:36Z,318324609024,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:46Z,318324129792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:53:56Z,318324129792,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:54:06Z,318326116352,free,disk,disk1s1,apfs,host.local,/\r\n,,6,2018-05-22T19:54:16Z,318325084160,free,disk,disk1s1,apfs,host.local,/\r\n,,7,2018-05-22T19:53:26Z,318324641792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:36Z,318324609024,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:46Z,318324129792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:53:56Z,318324129792,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:54:06Z,318326116352,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,7,2018-05-22T19:54:16Z,318325084160,free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,8,2018-05-22T19:53:26Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:36Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:46Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:53:56Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:54:06Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,8,2018-05-22T19:54:16Z,249991168,free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,9,2018-05-22T19:53:26Z,54624256,free,mem,host.local\r\n,,9,2018-05-22T19:53:36Z,17481728,free,mem,host.local\r\n,,9,2018-05-22T19:53:46Z,17805312,free,mem,host.local\r\n,,9,2018-05-22T19:53:56Z,16089088,free,mem,host.local\r\n,,9,2018-05-22T19:54:06Z,20774912,free,mem,host.local\r\n,,9,2018-05-22T19:54:16Z,20930560,free,mem,host.local\r\n,,10,2018-05-22T19:53:26Z,1461714944,free,swap,host.local\r\n,,10,2018-05-22T19:53:36Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:53:46Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:53:56Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:54:06Z,1494745088,free,swap,host.local\r\n,,10,2018-05-22T19:54:16Z,1491075072,free,swap,host.local\r\n,,11,2018-05-22T19:53:26Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:36Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:46Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:53:56Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:54:06Z,0,idle,processes,host.local\r\n,,11,2018-05-22T19:54:16Z,0,idle,processes,host.local\r\n,,12,2018-05-22T19:53:26Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:36Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:46Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:53:56Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:54:06Z,0,in,swap,host.local\r\n,,12,2018-05-22T19:54:16Z,0,in,swap,host.local\r\n,,13,2018-05-22T19:53:26Z,6292766720,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:36Z,6387970048,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:46Z,6443954176,inactive,mem,host.local\r\n,,13,2018-05-22T19:53:56Z,6384107520,inactive,mem,host.local\r\n,,13,2018-05-22T19:54:06Z,6373257216,inactive,mem,host.local\r\n,,13,2018-05-22T19:54:16Z,6427111424,inactive,mem,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,14,2018-05-22T19:53:26Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:36Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:46Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:53:56Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:54:06Z,9223372036853184344,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,14,2018-05-22T19:54:16Z,9223372036853184345,inodes_free,disk,disk1s1,apfs,host.local,/\r\n,,15,2018-05-22T19:53:26Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:36Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:46Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:53:56Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:54:06Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,15,2018-05-22T19:54:16Z,9223372036854775798,inodes_free,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,16,2018-05-22T19:53:26Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:36Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:46Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:53:56Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:54:06Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,16,2018-05-22T19:54:16Z,4294967275,inodes_free,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,17,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,17,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s1,apfs,host.local,/\r\n,,18,2018-05-22T19:53:26Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:36Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:46Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:53:56Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:54:06Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,18,2018-05-22T19:54:16Z,9223372036854775807,inodes_total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,19,2018-05-22T19:53:26Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:36Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:46Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:53:56Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:54:06Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,19,2018-05-22T19:54:16Z,4294967279,inodes_total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,20,2018-05-22T19:53:26Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:36Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:46Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:53:56Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:54:06Z,1591463,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,20,2018-05-22T19:54:16Z,1591462,inodes_used,disk,disk1s1,apfs,host.local,/\r\n,,21,2018-05-22T19:53:26Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:36Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:46Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:53:56Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:54:06Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,21,2018-05-22T19:54:16Z,9,inodes_used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,22,2018-05-22T19:53:26Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:36Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:46Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:53:56Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:54:06Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,22,2018-05-22T19:54:16Z,4,inodes_used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,23,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\r\n,,23,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\r\n,,24,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:53:56Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:54:06Z,3929,io_time,diskio,host.local,disk3\r\n,,25,2018-05-22T19:54:16Z,3929,io_time,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,26,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,27,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,27,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,28,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,28,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,29,2018-05-22T19:53:26Z,1.83,load1,system,host.local\r\n,,29,2018-05-22T19:53:36Z,1.7,load1,system,host.local\r\n,,29,2018-05-22T19:53:46Z,1.74,load1,system,host.local\r\n,,29,2018-05-22T19:53:56Z,1.63,load1,system,host.local\r\n,,29,2018-05-22T19:54:06Z,1.91,load1,system,host.local\r\n,,29,2018-05-22T19:54:16Z,1.84,load1,system,host.local\r\n,,30,2018-05-22T19:53:26Z,1.98,load15,system,host.local\r\n,,30,2018-05-22T19:53:36Z,1.97,load15,system,host.local\r\n,,30,2018-05-22T19:53:46Z,1.97,load15,system,host.local\r\n,,30,2018-05-22T19:53:56Z,1.96,load15,system,host.local\r\n,,30,2018-05-22T19:54:06Z,1.98,load15,system,host.local\r\n,,30,2018-05-22T19:54:16Z,1.97,load15,system,host.local\r\n,,31,2018-05-22T19:53:26Z,1.95,load5,system,host.local\r\n,,31,2018-05-22T19:53:36Z,1.92,load5,system,host.local\r\n,,31,2018-05-22T19:53:46Z,1.92,load5,system,host.local\r\n,,31,2018-05-22T19:53:56Z,1.89,load5,system,host.local\r\n,,31,2018-05-22T19:54:06Z,1.94,load5,system,host.local\r\n,,31,2018-05-22T19:54:16Z,1.93,load5,system,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,32,2018-05-22T19:53:26Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:36Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:46Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:53:56Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:54:06Z,8,n_cpus,system,host.local\r\n,,32,2018-05-22T19:54:16Z,8,n_cpus,system,host.local\r\n,,33,2018-05-22T19:53:26Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:36Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:46Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:53:56Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:54:06Z,5,n_users,system,host.local\r\n,,33,2018-05-22T19:54:16Z,5,n_users,system,host.local\r\n,,34,2018-05-22T19:53:26Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:36Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:46Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:53:56Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:54:06Z,0,out,swap,host.local\r\n,,34,2018-05-22T19:54:16Z,0,out,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,35,2018-05-22T19:53:26Z,228569833472,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:36Z,228577058816,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:46Z,228583690240,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,35,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n,,36,2018-05-22T19:53:26Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:36Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:46Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,36,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,37,2018-05-22T19:53:26Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:36Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:46Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,37,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,38,2018-05-22T19:53:26Z,3455708,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:36Z,3455784,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:46Z,3455954,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:53:56Z,3456031,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:54:06Z,3456184,read_time,diskio,host.local,disk0\r\n,,38,2018-05-22T19:54:16Z,3456390,read_time,diskio,host.local,disk0\r\n,,39,2018-05-22T19:53:26Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:36Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:46Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:53:56Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:54:06Z,648,read_time,diskio,host.local,disk2\r\n,,39,2018-05-22T19:54:16Z,648,read_time,diskio,host.local,disk2\r\n,,40,2018-05-22T19:53:26Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:36Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:46Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:53:56Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:54:06Z,3929,read_time,diskio,host.local,disk3\r\n,,40,2018-05-22T19:54:16Z,3929,read_time,diskio,host.local,disk3\r\n,,41,2018-05-22T19:53:26Z,6129420,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:36Z,6129483,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:46Z,6129801,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:53:56Z,6129864,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:54:06Z,6130176,reads,diskio,host.local,disk0\r\n,,41,2018-05-22T19:54:16Z,6130461,reads,diskio,host.local,disk0\r\n,,42,2018-05-22T19:53:26Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:36Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:46Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:53:56Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:54:06Z,729,reads,diskio,host.local,disk2\r\n,,42,2018-05-22T19:54:16Z,729,reads,diskio,host.local,disk2\r\n,,43,2018-05-22T19:53:26Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:36Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:46Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:53:56Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:54:06Z,100,reads,diskio,host.local,disk3\r\n,,43,2018-05-22T19:54:16Z,100,reads,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,44,2018-05-22T19:53:26Z,3,running,processes,host.local\r\n,,44,2018-05-22T19:53:36Z,1,running,processes,host.local\r\n,,44,2018-05-22T19:53:46Z,1,running,processes,host.local\r\n,,44,2018-05-22T19:53:56Z,2,running,processes,host.local\r\n,,44,2018-05-22T19:54:06Z,2,running,processes,host.local\r\n,,44,2018-05-22T19:54:16Z,3,running,processes,host.local\r\n,,45,2018-05-22T19:53:26Z,414,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:36Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:46Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:53:56Z,414,sleeping,processes,host.local\r\n,,45,2018-05-22T19:54:06Z,415,sleeping,processes,host.local\r\n,,45,2018-05-22T19:54:16Z,414,sleeping,processes,host.local\r\n,,46,2018-05-22T19:53:26Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:36Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:46Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:53:56Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:54:06Z,0,stopped,processes,host.local\r\n,,46,2018-05-22T19:54:16Z,0,stopped,processes,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,47,2018-05-22T19:53:26Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:36Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:46Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:53:56Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:54:06Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,47,2018-05-22T19:54:16Z,499963170816,total,disk,disk1s1,apfs,host.local,/\r\n,,48,2018-05-22T19:53:26Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:36Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:46Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:53:56Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:54:06Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,48,2018-05-22T19:54:16Z,499963170816,total,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,49,2018-05-22T19:53:26Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:36Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:46Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:53:56Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:54:06Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,49,2018-05-22T19:54:16Z,450715648,total,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,50,2018-05-22T19:53:26Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:36Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:46Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:53:56Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:54:06Z,17179869184,total,mem,host.local\r\n,,50,2018-05-22T19:54:16Z,17179869184,total,mem,host.local\r\n,,51,2018-05-22T19:53:26Z,417,total,processes,host.local\r\n,,51,2018-05-22T19:53:36Z,416,total,processes,host.local\r\n,,51,2018-05-22T19:53:46Z,416,total,processes,host.local\r\n,,51,2018-05-22T19:53:56Z,418,total,processes,host.local\r\n,,51,2018-05-22T19:54:06Z,418,total,processes,host.local\r\n,,51,2018-05-22T19:54:16Z,417,total,processes,host.local\r\n,,52,2018-05-22T19:53:26Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:36Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:46Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:53:56Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:54:06Z,8589934592,total,swap,host.local\r\n,,52,2018-05-22T19:54:16Z,8589934592,total,swap,host.local\r\n,,53,2018-05-22T19:53:26Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:36Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:46Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:53:56Z,0,unknown,processes,host.local\r\n,,53,2018-05-22T19:54:06Z,1,unknown,processes,host.local\r\n,,53,2018-05-22T19:54:16Z,0,unknown,processes,host.local\r\n,,54,2018-05-22T19:53:26Z,1320630,uptime,system,host.local\r\n,,54,2018-05-22T19:53:36Z,1320640,uptime,system,host.local\r\n,,54,2018-05-22T19:53:46Z,1320650,uptime,system,host.local\r\n,,54,2018-05-22T19:53:56Z,1320660,uptime,system,host.local\r\n,,54,2018-05-22T19:54:06Z,1320670,uptime,system,host.local\r\n,,54,2018-05-22T19:54:16Z,1320680,uptime,system,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,cpu,host\r\n,,55,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,55,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\r\n,,56,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu0,host.local\r\n,,56,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu0,host.local\r\n,,57,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu1,host.local\r\n,,57,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu1,host.local\r\n,,58,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu2,host.local\r\n,,58,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu2,host.local\r\n,,59,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu3,host.local\r\n,,59,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu3,host.local\r\n,,60,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu4,host.local\r\n,,60,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu4,host.local\r\n,,61,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu5,host.local\r\n,,61,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu5,host.local\r\n,,62,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu6,host.local\r\n,,62,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu6,host.local\r\n,,63,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu7,host.local\r\n,,63,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu7,host.local\r\n,,64,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,64,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\r\n,,65,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,65,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu0,host.local\r\n,,66,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,66,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu1,host.local\r\n,,67,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,67,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu2,host.local\r\n,,68,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,68,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu3,host.local\r\n,,69,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,69,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu4,host.local\r\n,,70,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,70,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu5,host.local\r\n,,71,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,71,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu6,host.local\r\n,,72,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,72,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu7,host.local\r\n,,73,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\r\n,,73,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\r\n,,74,2018-05-22T19:53:26Z,79.6,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:36Z,76.95390781563127,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:46Z,77.72227772227772,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:53:56Z,78.1,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:54:06Z,53.3,usage_idle,cpu,cpu0,host.local\r\n,,74,2018-05-22T19:54:16Z,73.8,usage_idle,cpu,cpu0,host.local\r\n,,75,2018-05-22T19:53:26Z,98.3016983016983,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:36Z,96.29629629629629,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:46Z,98.4,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:53:56Z,98.1018981018981,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:54:06Z,81.58158158158159,usage_idle,cpu,cpu1,host.local\r\n,,75,2018-05-22T19:54:16Z,96.7,usage_idle,cpu,cpu1,host.local\r\n,,76,2018-05-22T19:53:26Z,86.88688688688688,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:36Z,84.51548451548452,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:46Z,85.98598598598599,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:53:56Z,86.2,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:54:06Z,55.6,usage_idle,cpu,cpu2,host.local\r\n,,76,2018-05-22T19:54:16Z,81.6,usage_idle,cpu,cpu2,host.local\r\n,,77,2018-05-22T19:53:26Z,98.1018981018981,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:36Z,96.4,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:46Z,98.2,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:53:56Z,98.09809809809809,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:54:06Z,80.4,usage_idle,cpu,cpu3,host.local\r\n,,77,2018-05-22T19:54:16Z,96.8,usage_idle,cpu,cpu3,host.local\r\n,,78,2018-05-22T19:53:26Z,86.88688688688688,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:36Z,84.4,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:46Z,85.6,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:53:56Z,86.52694610778443,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:54:06Z,56.412825651302605,usage_idle,cpu,cpu4,host.local\r\n,,78,2018-05-22T19:54:16Z,80.4,usage_idle,cpu,cpu4,host.local\r\n,,79,2018-05-22T19:53:26Z,98.3,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:36Z,96.2037962037962,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:46Z,98.1981981981982,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:53:56Z,98.1,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:54:06Z,81.21878121878122,usage_idle,cpu,cpu5,host.local\r\n,,79,2018-05-22T19:54:16Z,96.7967967967968,usage_idle,cpu,cpu5,host.local\r\n,,80,2018-05-22T19:53:26Z,87.58758758758759,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:36Z,84.88488488488488,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:46Z,86.4,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:53:56Z,84.91508491508492,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:54:06Z,57.1,usage_idle,cpu,cpu6,host.local\r\n,,80,2018-05-22T19:54:16Z,80.5,usage_idle,cpu,cpu6,host.local\r\n,,81,2018-05-22T19:53:26Z,98.2,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:36Z,96.40359640359641,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:46Z,98.29829829829829,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:53:56Z,98.2,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:54:06Z,80.8,usage_idle,cpu,cpu7,host.local\r\n,,81,2018-05-22T19:54:16Z,96.5965965965966,usage_idle,cpu,cpu7,host.local\r\n,,82,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,82,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu-total,host.local\r\n,,83,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,83,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu0,host.local\r\n,,84,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,84,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu1,host.local\r\n,,85,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,85,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu2,host.local\r\n,,86,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,86,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu3,host.local\r\n,,87,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,87,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu4,host.local\r\n,,88,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,88,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu5,host.local\r\n,,89,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,89,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu6,host.local\r\n,,90,2018-05-22T19:53:26Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:36Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:46Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:53:56Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:54:06Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,90,2018-05-22T19:54:16Z,0,usage_iowait,cpu,cpu7,host.local\r\n,,91,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,91,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu-total,host.local\r\n,,92,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu0,host.local\r\n,,92,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu0,host.local\r\n,,93,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu1,host.local\r\n,,93,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu1,host.local\r\n,,94,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu2,host.local\r\n,,94,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu2,host.local\r\n,,95,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu3,host.local\r\n,,95,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu3,host.local\r\n,,96,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu4,host.local\r\n,,96,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu4,host.local\r\n,,97,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu5,host.local\r\n,,97,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu5,host.local\r\n,,98,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu6,host.local\r\n,,98,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu6,host.local\r\n,,99,2018-05-22T19:53:26Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:36Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:46Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:53:56Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:54:06Z,0,usage_irq,cpu,cpu7,host.local\r\n,,99,2018-05-22T19:54:16Z,0,usage_irq,cpu,cpu7,host.local\r\n,,100,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,100,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu-total,host.local\r\n,,101,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu0,host.local\r\n,,101,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu0,host.local\r\n,,102,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu1,host.local\r\n,,102,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu1,host.local\r\n,,103,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu2,host.local\r\n,,103,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu2,host.local\r\n,,104,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu3,host.local\r\n,,104,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu3,host.local\r\n,,105,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu4,host.local\r\n,,105,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu4,host.local\r\n,,106,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu5,host.local\r\n,,106,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu5,host.local\r\n,,107,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu6,host.local\r\n,,107,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu6,host.local\r\n,,108,2018-05-22T19:53:26Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:36Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:46Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:53:56Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:54:06Z,0,usage_nice,cpu,cpu7,host.local\r\n,,108,2018-05-22T19:54:16Z,0,usage_nice,cpu,cpu7,host.local\r\n,,109,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,109,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu-total,host.local\r\n,,110,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,110,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu0,host.local\r\n,,111,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,111,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu1,host.local\r\n,,112,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,112,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu2,host.local\r\n,,113,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,113,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu3,host.local\r\n,,114,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,114,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu4,host.local\r\n,,115,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,115,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu5,host.local\r\n,,116,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,116,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu6,host.local\r\n,,117,2018-05-22T19:53:26Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:36Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:46Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:53:56Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:54:06Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,117,2018-05-22T19:54:16Z,0,usage_softirq,cpu,cpu7,host.local\r\n,,118,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,118,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu-total,host.local\r\n,,119,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu0,host.local\r\n,,119,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu0,host.local\r\n,,120,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu1,host.local\r\n,,120,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu1,host.local\r\n,,121,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu2,host.local\r\n,,121,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu2,host.local\r\n,,122,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu3,host.local\r\n,,122,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu3,host.local\r\n,,123,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu4,host.local\r\n,,123,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu4,host.local\r\n,,124,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu5,host.local\r\n,,124,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu5,host.local\r\n,,125,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu6,host.local\r\n,,125,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu6,host.local\r\n,,126,2018-05-22T19:53:26Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:36Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:46Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:53:56Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:54:06Z,0,usage_steal,cpu,cpu7,host.local\r\n,,126,2018-05-22T19:54:16Z,0,usage_steal,cpu,cpu7,host.local\r\n,,127,2018-05-22T19:53:26Z,3.4254281785223153,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:36Z,4.488061007625953,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:46Z,3.6384096024006003,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:53:56Z,3.5361739347744594,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:54:06Z,3.675918979744936,usage_system,cpu,cpu-total,host.local\r\n,,127,2018-05-22T19:54:16Z,4.888111013876735,usage_system,cpu,cpu-total,host.local\r\n,,128,2018-05-22T19:53:26Z,11.6,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:36Z,12.424849699398798,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:46Z,12.187812187812188,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:53:56Z,11.8,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:54:06Z,9.5,usage_system,cpu,cpu0,host.local\r\n,,128,2018-05-22T19:54:16Z,13.9,usage_system,cpu,cpu0,host.local\r\n,,129,2018-05-22T19:53:26Z,0.4995004995004995,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:36Z,1.7017017017017018,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:46Z,0.4,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:53:56Z,0.5994005994005994,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:54:06Z,1.1011011011011012,usage_system,cpu,cpu1,host.local\r\n,,129,2018-05-22T19:54:16Z,1.1,usage_system,cpu,cpu1,host.local\r\n,,130,2018-05-22T19:53:26Z,4.504504504504505,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:36Z,5.794205794205794,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:46Z,4.904904904904905,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:53:56Z,4.7,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:54:06Z,4.9,usage_system,cpu,cpu2,host.local\r\n,,130,2018-05-22T19:54:16Z,6.6,usage_system,cpu,cpu2,host.local\r\n,,131,2018-05-22T19:53:26Z,0.5994005994005994,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:36Z,1.5,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:46Z,0.6,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:53:56Z,0.5005005005005005,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:54:06Z,1.9,usage_system,cpu,cpu3,host.local\r\n,,131,2018-05-22T19:54:16Z,1.1,usage_system,cpu,cpu3,host.local\r\n,,132,2018-05-22T19:53:26Z,4.804804804804805,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:36Z,6,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:46Z,5.1,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:53:56Z,4.8902195608782435,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:54:06Z,4.709418837675351,usage_system,cpu,cpu4,host.local\r\n,,132,2018-05-22T19:54:16Z,6.9,usage_system,cpu,cpu4,host.local\r\n,,133,2018-05-22T19:53:26Z,0.5,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:36Z,1.5984015984015985,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:46Z,0.6006006006006006,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:53:56Z,0.5,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:54:06Z,1.098901098901099,usage_system,cpu,cpu5,host.local\r\n,,133,2018-05-22T19:54:16Z,1.1011011011011012,usage_system,cpu,cpu5,host.local\r\n,,134,2018-05-22T19:53:26Z,4.404404404404405,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:36Z,5.605605605605605,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:46Z,4.8,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:53:56Z,4.795204795204795,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:54:06Z,4.8,usage_system,cpu,cpu6,host.local\r\n,,134,2018-05-22T19:54:16Z,7.1,usage_system,cpu,cpu6,host.local\r\n,,135,2018-05-22T19:53:26Z,0.5,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:36Z,1.2987012987012987,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:46Z,0.5005005005005005,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:53:56Z,0.5,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:54:06Z,1.4,usage_system,cpu,cpu7,host.local\r\n,,135,2018-05-22T19:54:16Z,1.2012012012012012,usage_system,cpu,cpu7,host.local\r\n,,136,2018-05-22T19:53:26Z,4.838104763095387,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:36Z,6.00075009376172,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:46Z,5.263815953988497,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:53:56Z,5.435461701861802,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:54:06Z,28.019504876219056,usage_user,cpu,cpu-total,host.local\r\n,,136,2018-05-22T19:54:16Z,7.225903237904738,usage_user,cpu,cpu-total,host.local\r\n,,137,2018-05-22T19:53:26Z,8.8,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:36Z,10.62124248496994,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:46Z,10.08991008991009,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:53:56Z,10.1,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:54:06Z,37.2,usage_user,cpu,cpu0,host.local\r\n,,137,2018-05-22T19:54:16Z,12.3,usage_user,cpu,cpu0,host.local\r\n,,138,2018-05-22T19:53:26Z,1.1988011988011988,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:36Z,2.002002002002002,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:46Z,1.2,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:53:56Z,1.2987012987012987,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:54:06Z,17.31731731731732,usage_user,cpu,cpu1,host.local\r\n,,138,2018-05-22T19:54:16Z,2.2,usage_user,cpu,cpu1,host.local\r\n,,139,2018-05-22T19:53:26Z,8.608608608608609,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:36Z,9.69030969030969,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:46Z,9.10910910910911,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:53:56Z,9.1,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:54:06Z,39.5,usage_user,cpu,cpu2,host.local\r\n,,139,2018-05-22T19:54:16Z,11.8,usage_user,cpu,cpu2,host.local\r\n,,140,2018-05-22T19:53:26Z,1.2987012987012987,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:36Z,2.1,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:46Z,1.2,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:53:56Z,1.4014014014014013,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:54:06Z,17.7,usage_user,cpu,cpu3,host.local\r\n,,140,2018-05-22T19:54:16Z,2.1,usage_user,cpu,cpu3,host.local\r\n,,141,2018-05-22T19:53:26Z,8.308308308308309,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:36Z,9.6,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:46Z,9.3,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:53:56Z,8.582834331337326,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:54:06Z,38.877755511022045,usage_user,cpu,cpu4,host.local\r\n,,141,2018-05-22T19:54:16Z,12.7,usage_user,cpu,cpu4,host.local\r\n,,142,2018-05-22T19:53:26Z,1.2,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:36Z,2.197802197802198,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:46Z,1.2012012012012012,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:53:56Z,1.4,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:54:06Z,17.68231768231768,usage_user,cpu,cpu5,host.local\r\n,,142,2018-05-22T19:54:16Z,2.1021021021021022,usage_user,cpu,cpu5,host.local\r\n,,143,2018-05-22T19:53:26Z,8.008008008008009,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:36Z,9.50950950950951,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:46Z,8.8,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:53:56Z,10.289710289710289,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:54:06Z,38.1,usage_user,cpu,cpu6,host.local\r\n,,143,2018-05-22T19:54:16Z,12.4,usage_user,cpu,cpu6,host.local\r\n,,144,2018-05-22T19:53:26Z,1.3,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:36Z,2.2977022977022976,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:46Z,1.2012012012012012,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:53:56Z,1.3,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:54:06Z,17.8,usage_user,cpu,cpu7,host.local\r\n,,144,2018-05-22T19:54:16Z,2.2022022022022023,usage_user,cpu,cpu7,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,145,2018-05-22T19:53:26Z,171272577024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:36Z,171272609792,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:46Z,171273089024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:53:56Z,171273089024,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:54:06Z,171271102464,used,disk,disk1s1,apfs,host.local,/\r\n,,145,2018-05-22T19:54:16Z,171272134656,used,disk,disk1s1,apfs,host.local,/\r\n,,146,2018-05-22T19:53:26Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:36Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:46Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:53:56Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:54:06Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,146,2018-05-22T19:54:16Z,9663721472,used,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,147,2018-05-22T19:53:26Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:36Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:46Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:53:56Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:54:06Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,147,2018-05-22T19:54:16Z,200724480,used,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,148,2018-05-22T19:53:26Z,10832478208,used,mem,host.local\r\n,,148,2018-05-22T19:53:36Z,10774417408,used,mem,host.local\r\n,,148,2018-05-22T19:53:46Z,10718109696,used,mem,host.local\r\n,,148,2018-05-22T19:53:56Z,10779672576,used,mem,host.local\r\n,,148,2018-05-22T19:54:06Z,10785837056,used,mem,host.local\r\n,,148,2018-05-22T19:54:16Z,10731827200,used,mem,host.local\r\n,,149,2018-05-22T19:53:26Z,7128219648,used,swap,host.local\r\n,,149,2018-05-22T19:53:36Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:53:46Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:53:56Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:54:06Z,7095189504,used,swap,host.local\r\n,,149,2018-05-22T19:54:16Z,7098859520,used,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true,true,true\r\n#default,_result,,,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\r\n,,150,2018-05-22T19:53:26Z,34.98234271799806,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:36Z,34.98234941084654,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:46Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:53:56Z,34.982447293755506,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:54:06Z,34.98204153981662,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,150,2018-05-22T19:54:16Z,34.982252364543626,used_percent,disk,disk1s1,apfs,host.local,/\r\n,,151,2018-05-22T19:53:26Z,2.946361076908575,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:36Z,2.9463613712677055,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:46Z,2.946365676276709,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:53:56Z,2.946365676276709,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:54:06Z,2.946347830808579,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,151,2018-05-22T19:54:16Z,2.9463571030660702,used_percent,disk,disk1s4,apfs,host.local,/private/var/vm\r\n,,152,2018-05-22T19:53:26Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:36Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:46Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:53:56Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:54:06Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n,,152,2018-05-22T19:54:16Z,44.53461531470946,used_percent,disk,disk2s1,hfs,host.local,/Volumes/Command Line Developer Tools\r\n\r\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,153,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:36Z,62.71536350250244,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:46Z,62.38760948181152,used_percent,mem,host.local\r\n,,153,2018-05-22T19:53:56Z,62.74595260620117,used_percent,mem,host.local\r\n,,153,2018-05-22T19:54:06Z,62.78183460235596,used_percent,mem,host.local\r\n,,153,2018-05-22T19:54:16Z,62.46745586395264,used_percent,mem,host.local\r\n,,154,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\r\n,,154,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,155,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,155,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,156,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,156,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,157,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,157,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,158,2018-05-22T19:53:26Z,373674287104,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:36Z,373675814912,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:46Z,373676670976,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:53:56Z,373676830720,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:54:06Z,373677928448,write_bytes,diskio,host.local,disk0\r\n,,158,2018-05-22T19:54:16Z,373684617216,write_bytes,diskio,host.local,disk0\r\n,,159,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk2\r\n,,159,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk2\r\n,,160,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk3\r\n,,160,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk3\r\n,,161,2018-05-22T19:53:26Z,11748980,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:36Z,11749110,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:46Z,11749148,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:53:56Z,11749195,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:54:06Z,11749315,write_time,diskio,host.local,disk0\r\n,,161,2018-05-22T19:54:16Z,11749365,write_time,diskio,host.local,disk0\r\n,,162,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk2\r\n,,162,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk2\r\n,,163,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk3\r\n,,163,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk3\r\n,,164,2018-05-22T19:53:26Z,12385052,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:36Z,12385245,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:46Z,12385303,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:53:56Z,12385330,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:54:06Z,12385531,writes,diskio,host.local,disk0\r\n,,164,2018-05-22T19:54:16Z,12385646,writes,diskio,host.local,disk0\r\n,,165,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk2\r\n,,165,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk2\r\n,,166,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk3\r\n,,166,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk3\r\n\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\r\n#group,false,false,false,false,true,true,true\r\n#default,_result,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host\r\n,,167,2018-05-22T19:53:26Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:36Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:46Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:53:56Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:54:06Z,0,zombies,processes,host.local\r\n,,167,2018-05-22T19:54:16Z,0,zombies,processes,host.local\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   1132,
					},
					File:   "show_all_tag_keys_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,string\r\n#group,false,false,false\r\n#default,_result,,\r\n,result,table,_value\r\n,,0,_start\r\n,,0,_stop\r\n,,0,_field\r\n,,0,_measurement\r\n,,0,host\r\n,,0,device\r\n,,0,fstype\r\n,,0,path\r\n,,0,name\r\n,,0,cpu\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   1117,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   1117,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   1117,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   1132,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "\"\r\n#datatype,string,long,string\r\n#group,false,false,false\r\n#default,_result,,\r\n,result,table,_value\r\n,,0,_start\r\n,,0,_stop\r\n,,0,_field\r\n,,0,_measurement\r\n,,0,host\r\n,,0,device\r\n,,0,fstype\r\n,,0,path\r\n,,0,name\r\n,,0,cpu\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   1117,
						},
					},
				},
				Value: "\r\n#datatype,string,long,string\r\n#group,false,false,false\r\n#default,_result,,\r\n,result,table,_value\r\n,,0,_start\r\n,,0,_stop\r\n,,0,_field\r\n,,0,_measurement\r\n,,0,host\r\n,,0,device\r\n,,0,fstype\r\n,,0,path\r\n,,0,name\r\n,,0,cpu\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 33,
						Line:   1138,
					},
					File:   "show_all_tag_keys_test.flux",
					Source: "t_show_all_tag_keys = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keys()\n    |> group()\n    |> distinct()\n    |> keep(columns: [\"_value\"])",
					Start: ast.Position{
						Column: 1,
						Line:   1133,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 20,
							Line:   1133,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "t_show_all_tag_keys",
						Start: ast.Position{
							Column: 1,
							Line:   1133,
						},
					},
				},
				Name: "t_show_all_tag_keys",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 33,
							Line:   1138,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keys()\n    |> group()\n    |> distinct()\n    |> keep(columns: [\"_value\"])",
						Start: ast.Position{
							Column: 23,
							Line:   1133,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   1133,
												},
												File:   "show_all_tag_keys_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 37,
													Line:   1133,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   1134,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
											Start: ast.Position{
												Column: 37,
												Line:   1133,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   1134,
													},
													File:   "show_all_tag_keys_test.flux",
													Source: "start: 2018-05-22T19:53:26Z",
													Start: ast.Position{
														Column: 14,
														Line:   1134,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   1134,
														},
														File:   "show_all_tag_keys_test.flux",
														Source: "start: 2018-05-22T19:53:26Z",
														Start: ast.Position{
															Column: 14,
															Line:   1134,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 19,
																Line:   1134,
															},
															File:   "show_all_tag_keys_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 14,
																Line:   1134,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   1134,
															},
															File:   "show_all_tag_keys_test.flux",
															Source: "2018-05-22T19:53:26Z",
															Start: ast.Position{
																Column: 21,
																Line:   1134,
															},
														},
													},
													Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 42,
													Line:   1134,
												},
												File:   "show_all_tag_keys_test.flux",
												Source: "range(start: 2018-05-22T19:53:26Z)",
												Start: ast.Position{
													Column: 8,
													Line:   1134,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   1134,
													},
													File:   "show_all_tag_keys_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 8,
														Line:   1134,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   1135,
										},
										File:   "show_all_tag_keys_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keys()",
										Start: ast.Position{
											Column: 37,
											Line:   1133,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   1135,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "keys()",
											Start: ast.Position{
												Column: 8,
												Line:   1135,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 12,
													Line:   1135,
												},
												File:   "show_all_tag_keys_test.flux",
												Source: "keys",
												Start: ast.Position{
													Column: 8,
													Line:   1135,
												},
											},
										},
										Name: "keys",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 15,
										Line:   1136,
									},
									File:   "show_all_tag_keys_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keys()\n    |> group()",
									Start: ast.Position{
										Column: 37,
										Line:   1133,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: nil,
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 15,
											Line:   1136,
										},
										File:   "show_all_tag_keys_test.flux",
										Source: "group()",
										Start: ast.Position{
											Column: 8,
											Line:   1136,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   1136,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "group",
											Start: ast.Position{
												Column: 8,
												Line:   1136,
											},
										},
									},
									Name: "group",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   1137,
								},
								File:   "show_all_tag_keys_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keys()\n    |> group()\n    |> distinct()",
								Start: ast.Position{
									Column: 37,
									Line:   1133,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: nil,
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   1137,
									},
									File:   "show_all_tag_keys_test.flux",
									Source: "distinct()",
									Start: ast.Position{
										Column: 8,
										Line:   1137,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   1137,
										},
										File:   "show_all_tag_keys_test.flux",
										Source: "distinct",
										Start: ast.Position{
											Column: 8,
											Line:   1137,
										},
									},
								},
								Name: "distinct",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   1138,
							},
							File:   "show_all_tag_keys_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> keys()\n    |> group()\n    |> distinct()\n    |> keep(columns: [\"_value\"])",
							Start: ast.Position{
								Column: 37,
								Line:   1133,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 32,
										Line:   1138,
									},
									File:   "show_all_tag_keys_test.flux",
									Source: "columns: [\"_value\"]",
									Start: ast.Position{
										Column: 13,
										Line:   1138,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   1138,
										},
										File:   "show_all_tag_keys_test.flux",
										Source: "columns: [\"_value\"]",
										Start: ast.Position{
											Column: 13,
											Line:   1138,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   1138,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   1138,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   1138,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "[\"_value\"]",
											Start: ast.Position{
												Column: 22,
												Line:   1138,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   1138,
												},
												File:   "show_all_tag_keys_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 23,
													Line:   1138,
												},
											},
										},
										Value: "_value",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   1138,
								},
								File:   "show_all_tag_keys_test.flux",
								Source: "keep(columns: [\"_value\"])",
								Start: ast.Position{
									Column: 8,
									Line:   1138,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   1138,
									},
									File:   "show_all_tag_keys_test.flux",
									Source: "keep",
									Start: ast.Position{
										Column: 8,
										Line:   1138,
									},
								},
							},
							Name: "keep",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   1133,
							},
							File:   "show_all_tag_keys_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 24,
								Line:   1133,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 29,
									Line:   1133,
								},
								File:   "show_all_tag_keys_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 24,
									Line:   1133,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   1133,
							},
							File:   "show_all_tag_keys_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 30,
								Line:   1133,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 138,
							Line:   1140,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "_show_all_tag_keys = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_show_all_tag_keys})",
						Start: ast.Position{
							Column: 6,
							Line:   1140,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   1140,
							},
							File:   "show_all_tag_keys_test.flux",
							Source: "_show_all_tag_keys",
							Start: ast.Position{
								Column: 6,
								Line:   1140,
							},
						},
					},
					Name: "_show_all_tag_keys",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 138,
								Line:   1140,
							},
							File:   "show_all_tag_keys_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_show_all_tag_keys})",
							Start: ast.Position{
								Column: 27,
								Line:   1140,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 138,
									Line:   1140,
								},
								File:   "show_all_tag_keys_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_show_all_tag_keys})",
								Start: ast.Position{
									Column: 33,
									Line:   1140,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 137,
										Line:   1140,
									},
									File:   "show_all_tag_keys_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_show_all_tag_keys}",
									Start: ast.Position{
										Column: 34,
										Line:   1140,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 74,
											Line:   1140,
										},
										File:   "show_all_tag_keys_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 35,
											Line:   1140,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   1140,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 35,
												Line:   1140,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   1140,
												},
												File:   "show_all_tag_keys_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 62,
													Line:   1140,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   1140,
													},
													File:   "show_all_tag_keys_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 62,
														Line:   1140,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 65,
															Line:   1140,
														},
														File:   "show_all_tag_keys_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 62,
															Line:   1140,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   1140,
														},
														File:   "show_all_tag_keys_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 67,
															Line:   1140,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   1140,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 42,
												Line:   1140,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   1140,
												},
												File:   "show_all_tag_keys_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 42,
													Line:   1140,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   1140,
													},
													File:   "show_all_tag_keys_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 42,
														Line:   1140,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   1140,
													},
													File:   "show_all_tag_keys_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 50,
														Line:   1140,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 111,
											Line:   1140,
										},
										File:   "show_all_tag_keys_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 76,
											Line:   1140,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   1140,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 76,
												Line:   1140,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 110,
													Line:   1140,
												},
												File:   "show_all_tag_keys_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 98,
													Line:   1140,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 110,
														Line:   1140,
													},
													File:   "show_all_tag_keys_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 98,
														Line:   1140,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 101,
															Line:   1140,
														},
														File:   "show_all_tag_keys_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 98,
															Line:   1140,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 110,
															Line:   1140,
														},
														File:   "show_all_tag_keys_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 103,
															Line:   1140,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   1140,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 82,
												Line:   1140,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   1140,
												},
												File:   "show_all_tag_keys_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 82,
													Line:   1140,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   1140,
													},
													File:   "show_all_tag_keys_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 82,
														Line:   1140,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   1140,
													},
													File:   "show_all_tag_keys_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 90,
														Line:   1140,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 136,
											Line:   1140,
										},
										File:   "show_all_tag_keys_test.flux",
										Source: "fn: t_show_all_tag_keys",
										Start: ast.Position{
											Column: 113,
											Line:   1140,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   1140,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 113,
												Line:   1140,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 136,
												Line:   1140,
											},
											File:   "show_all_tag_keys_test.flux",
											Source: "t_show_all_tag_keys",
											Start: ast.Position{
												Column: 117,
												Line:   1140,
											},
										},
									},
									Name: "t_show_all_tag_keys",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 138,
						Line:   1140,
					},
					File:   "show_all_tag_keys_test.flux",
					Source: "test _show_all_tag_keys = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_show_all_tag_keys})",
					Start: ast.Position{
						Column: 1,
						Line:   1140,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "show_all_tag_keys_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "show_all_tag_keys_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "show_all_tag_keys_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "show_all_tag_keys_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 122,
					Line:   27,
				},
				File:   "simple_max_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-04-17T00:00:00Z,m1,f1,42\n,,0,2018-04-17T00:00:01Z,m1,f1,43\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-04-17T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,2018-04-17T00:00:01Z,43\n\"\nsimple_max = (table=<-) => table\n    |> range(start: 2018-04-17T00:00:00Z)\n    |> max(column: \"_value\")\n\ntest _simple_max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: simple_max})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "simple_max_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "simple_max_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "simple_max_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "simple_max_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "simple_max_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   15,
					},
					File:   "simple_max_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-04-17T00:00:00Z,m1,f1,42\n,,0,2018-04-17T00:00:01Z,m1,f1,43\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "simple_max_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   15,
						},
						File:   "simple_max_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-04-17T00:00:00Z,m1,f1,42\n,,0,2018-04-17T00:00:01Z,m1,f1,43\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-04-17T00:00:00Z,m1,f1,42\n,,0,2018-04-17T00:00:01Z,m1,f1,43\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   22,
					},
					File:   "simple_max_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-04-17T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,2018-04-17T00:00:01Z,43\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   16,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   16,
						},
						File:   "simple_max_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   16,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   22,
						},
						File:   "simple_max_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-04-17T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,2018-04-17T00:00:01Z,43\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   16,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,_result,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2018-04-17T00:00:00Z,2030-01-01T00:00:00Z,m1,f1,2018-04-17T00:00:01Z,43\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 29,
						Line:   25,
					},
					File:   "simple_max_test.flux",
					Source: "simple_max = (table=<-) => table\n    |> range(start: 2018-04-17T00:00:00Z)\n    |> max(column: \"_value\")",
					Start: ast.Position{
						Column: 1,
						Line:   23,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 11,
							Line:   23,
						},
						File:   "simple_max_test.flux",
						Source: "simple_max",
						Start: ast.Position{
							Column: 1,
							Line:   23,
						},
					},
				},
				Name: "simple_max",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 29,
							Line:   25,
						},
						File:   "simple_max_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-04-17T00:00:00Z)\n    |> max(column: \"_value\")",
						Start: ast.Position{
							Column: 14,
							Line:   23,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   23,
									},
									File:   "simple_max_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 28,
										Line:   23,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   24,
								},
								File:   "simple_max_test.flux",
								Source: "table\n    |> range(start: 2018-04-17T00:00:00Z)",
								Start: ast.Position{
									Column: 28,
									Line:   23,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   24,
										},
										File:   "simple_max_test.flux",
										Source: "start: 2018-04-17T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   24,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   24,
											},
											File:   "simple_max_test.flux",
											Source: "start: 2018-04-17T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   24,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   24,
												},
												File:   "simple_max_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   24,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   24,
												},
												File:   "simple_max_test.flux",
												Source: "2018-04-17T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   24,
												},
											},
										},
										Value: parser.MustParseTime("2018-04-17T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   24,
									},
									File:   "simple_max_test.flux",
									Source: "range(start: 2018-04-17T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   24,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   24,
										},
										File:   "simple_max_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   24,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   25,
							},
							File:   "simple_max_test.flux",
							Source: "table\n    |> range(start: 2018-04-17T00:00:00Z)\n    |> max(column: \"_value\")",
							Start: ast.Position{
								Column: 28,
								Line:   23,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   25,
									},
									File:   "simple_max_test.flux",
									Source: "column: \"_value\"",
									Start: ast.Position{
										Column: 12,
										Line:   25,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 28,
											Line:   25,
										},
										File:   "simple_max_test.flux",
										Source: "column: \"_value\"",
										Start: ast.Position{
											Column: 12,
											Line:   25,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   25,
											},
											File:   "simple_max_test.flux",
											Source: "column",
											Start: ast.Position{
												Column: 12,
												Line:   25,
											},
										},
									},
									Name: "column",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   25,
											},
											File:   "simple_max_test.flux",
											Source: "\"_value\"",
											Start: ast.Position{
												Column: 20,
												Line:   25,
											},
										},
									},
									Value: "_value",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 29,
									Line:   25,
								},
								File:   "simple_max_test.flux",
								Source: "max(column: \"_value\")",
								Start: ast.Position{
									Column: 8,
									Line:   25,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   25,
									},
									File:   "simple_max_test.flux",
									Source: "max",
									Start: ast.Position{
										Column: 8,
										Line:   25,
									},
								},
							},
							Name: "max",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   23,
							},
							File:   "simple_max_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 15,
								Line:   23,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   23,
								},
								File:   "simple_max_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 15,
									Line:   23,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   23,
							},
							File:   "simple_max_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 21,
								Line:   23,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 122,
							Line:   27,
						},
						File:   "simple_max_test.flux",
						Source: "_simple_max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: simple_max})",
						Start: ast.Position{
							Column: 6,
							Line:   27,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   27,
							},
							File:   "simple_max_test.flux",
							Source: "_simple_max",
							Start: ast.Position{
								Column: 6,
								Line:   27,
							},
						},
					},
					Name: "_simple_max",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 122,
								Line:   27,
							},
							File:   "simple_max_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: simple_max})",
							Start: ast.Position{
								Column: 20,
								Line:   27,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 122,
									Line:   27,
								},
								File:   "simple_max_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: simple_max})",
								Start: ast.Position{
									Column: 26,
									Line:   27,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 121,
										Line:   27,
									},
									File:   "simple_max_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: simple_max}",
									Start: ast.Position{
										Column: 27,
										Line:   27,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   27,
										},
										File:   "simple_max_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   27,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   27,
											},
											File:   "simple_max_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   27,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   27,
												},
												File:   "simple_max_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   27,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   27,
													},
													File:   "simple_max_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   27,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   27,
														},
														File:   "simple_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   27,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   27,
														},
														File:   "simple_max_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   27,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   27,
											},
											File:   "simple_max_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   27,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   27,
												},
												File:   "simple_max_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   27,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   27,
													},
													File:   "simple_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   27,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   27,
													},
													File:   "simple_max_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   27,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   27,
										},
										File:   "simple_max_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   27,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   27,
											},
											File:   "simple_max_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   27,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   27,
												},
												File:   "simple_max_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   27,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   27,
													},
													File:   "simple_max_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   27,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   27,
														},
														File:   "simple_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   27,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   27,
														},
														File:   "simple_max_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   27,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   27,
											},
											File:   "simple_max_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   27,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   27,
												},
												File:   "simple_max_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   27,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   27,
													},
													File:   "simple_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   27,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   27,
													},
													File:   "simple_max_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   27,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 120,
											Line:   27,
										},
										File:   "simple_max_test.flux",
										Source: "fn: simple_max",
										Start: ast.Position{
											Column: 106,
											Line:   27,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   27,
											},
											File:   "simple_max_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   27,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   27,
											},
											File:   "simple_max_test.flux",
											Source: "simple_max",
											Start: ast.Position{
												Column: 110,
												Line:   27,
											},
										},
									},
									Name: "simple_max",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 122,
						Line:   27,
					},
					File:   "simple_max_test.flux",
					Source: "test _simple_max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: simple_max})",
					Start: ast.Position{
						Column: 1,
						Line:   27,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "simple_max_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "simple_max_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "simple_max_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "simple_max_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "simple_max_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   55,
				},
				File:   "skew_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,0.3057387969724791\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,0.7564084754909545\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,0.6793279546139146\n\"\nt_skew = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> skew()\n\ntest _skew = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_skew})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "skew_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "skew_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "skew_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "skew_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "skew_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "skew_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "skew_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "skew_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   50,
					},
					File:   "skew_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,0.3057387969724791\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,0.7564084754909545\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,0.6793279546139146\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   42,
						},
						File:   "skew_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   50,
						},
						File:   "skew_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,0.3057387969724791\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,0.7564084754909545\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,0.6793279546139146\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   42,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,0.3057387969724791\n,,1,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,0.7564084754909545\n,,2,2018-01-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,0.6793279546139146\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   53,
					},
					File:   "skew_test.flux",
					Source: "t_skew = (table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> skew()",
					Start: ast.Position{
						Column: 1,
						Line:   51,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   51,
						},
						File:   "skew_test.flux",
						Source: "t_skew",
						Start: ast.Position{
							Column: 1,
							Line:   51,
						},
					},
				},
				Name: "t_skew",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   53,
						},
						File:   "skew_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> skew()",
						Start: ast.Position{
							Column: 10,
							Line:   51,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   51,
									},
									File:   "skew_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   51,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   52,
								},
								File:   "skew_test.flux",
								Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)",
								Start: ast.Position{
									Column: 24,
									Line:   51,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   52,
										},
										File:   "skew_test.flux",
										Source: "start: 2018-01-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   52,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   52,
											},
											File:   "skew_test.flux",
											Source: "start: 2018-01-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   52,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   52,
												},
												File:   "skew_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   52,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   52,
												},
												File:   "skew_test.flux",
												Source: "2018-01-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   52,
												},
											},
										},
										Value: parser.MustParseTime("2018-01-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   52,
									},
									File:   "skew_test.flux",
									Source: "range(start: 2018-01-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   52,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   52,
										},
										File:   "skew_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   52,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   53,
							},
							File:   "skew_test.flux",
							Source: "table\n    |> range(start: 2018-01-01T00:00:00Z)\n    |> skew()",
							Start: ast.Position{
								Column: 24,
								Line:   51,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   53,
								},
								File:   "skew_test.flux",
								Source: "skew()",
								Start: ast.Position{
									Column: 8,
									Line:   53,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   53,
									},
									File:   "skew_test.flux",
									Source: "skew",
									Start: ast.Position{
										Column: 8,
										Line:   53,
									},
								},
							},
							Name: "skew",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   51,
							},
							File:   "skew_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   51,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   51,
								},
								File:   "skew_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   51,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   51,
							},
							File:   "skew_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   51,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   55,
						},
						File:   "skew_test.flux",
						Source: "_skew = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_skew})",
						Start: ast.Position{
							Column: 6,
							Line:   55,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   55,
							},
							File:   "skew_test.flux",
							Source: "_skew",
							Start: ast.Position{
								Column: 6,
								Line:   55,
							},
						},
					},
					Name: "_skew",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   55,
							},
							File:   "skew_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_skew})",
							Start: ast.Position{
								Column: 14,
								Line:   55,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   55,
								},
								File:   "skew_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_skew})",
								Start: ast.Position{
									Column: 20,
									Line:   55,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   55,
									},
									File:   "skew_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_skew}",
									Start: ast.Position{
										Column: 21,
										Line:   55,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   55,
										},
										File:   "skew_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   55,
											},
											File:   "skew_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   55,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   55,
												},
												File:   "skew_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   55,
													},
													File:   "skew_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   55,
														},
														File:   "skew_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   55,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   55,
														},
														File:   "skew_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   55,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   55,
											},
											File:   "skew_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   55,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   55,
												},
												File:   "skew_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   55,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   55,
													},
													File:   "skew_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   55,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   55,
													},
													File:   "skew_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   55,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   55,
										},
										File:   "skew_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   55,
											},
											File:   "skew_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   55,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   55,
												},
												File:   "skew_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   55,
													},
													File:   "skew_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   55,
														},
														File:   "skew_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   55,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   55,
														},
														File:   "skew_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   55,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   55,
											},
											File:   "skew_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   55,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   55,
												},
												File:   "skew_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   55,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   55,
													},
													File:   "skew_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   55,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   55,
													},
													File:   "skew_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   55,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   55,
										},
										File:   "skew_test.flux",
										Source: "fn: t_skew",
										Start: ast.Position{
											Column: 100,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   55,
											},
											File:   "skew_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   55,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   55,
											},
											File:   "skew_test.flux",
											Source: "t_skew",
											Start: ast.Position{
												Column: 104,
												Line:   55,
											},
										},
									},
									Name: "t_skew",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   55,
					},
					File:   "skew_test.flux",
					Source: "test _skew = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_skew})",
					Start: ast.Position{
						Column: 1,
						Line:   55,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "skew_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "skew_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "skew_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "skew_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "skew_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   84,
				},
				File:   "sort_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,2.9833984375,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:36Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:46Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:56Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:54:06Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:54:16Z,2.6416015625,used_percent,swap,host1.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,2.6416015625,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,2.9833984375,used_percent,swap,host1.local\n\"\nt_sort = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> sort(columns: [\"_value\", \"_time\"])\n\ntest _sort = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sort})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "sort_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "sort_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "sort_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "sort_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "sort_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "sort_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,2.9833984375,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:36Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:46Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:56Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:54:06Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:54:16Z,2.6416015625,used_percent,swap,host1.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "sort_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "sort_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,2.9833984375,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:36Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:46Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:56Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:54:06Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:54:16Z,2.6416015625,used_percent,swap,host1.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,2.9833984375,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:36Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:46Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:56Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:54:06Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:54:16Z,2.6416015625,used_percent,swap,host1.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   79,
					},
					File:   "sort_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,2.6416015625,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,2.9833984375,used_percent,swap,host1.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   44,
						},
						File:   "sort_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   79,
						},
						File:   "sort_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,2.6416015625,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,2.9833984375,used_percent,swap,host1.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   44,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n,,3,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,2.598876953125,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,2.6416015625,used_percent,swap,host1.local\n,,4,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,2.9833984375,used_percent,swap,host1.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   82,
					},
					File:   "sort_test.flux",
					Source: "t_sort = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> sort(columns: [\"_value\", \"_time\"])",
					Start: ast.Position{
						Column: 1,
						Line:   80,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   80,
						},
						File:   "sort_test.flux",
						Source: "t_sort",
						Start: ast.Position{
							Column: 1,
							Line:   80,
						},
					},
				},
				Name: "t_sort",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   82,
						},
						File:   "sort_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> sort(columns: [\"_value\", \"_time\"])",
						Start: ast.Position{
							Column: 10,
							Line:   80,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   80,
									},
									File:   "sort_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   80,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   81,
								},
								File:   "sort_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 24,
									Line:   80,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   81,
										},
										File:   "sort_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   81,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   81,
											},
											File:   "sort_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   81,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   81,
												},
												File:   "sort_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   81,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   81,
												},
												File:   "sort_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   81,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   81,
									},
									File:   "sort_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   81,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   81,
										},
										File:   "sort_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   81,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   82,
							},
							File:   "sort_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> sort(columns: [\"_value\", \"_time\"])",
							Start: ast.Position{
								Column: 24,
								Line:   80,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   82,
									},
									File:   "sort_test.flux",
									Source: "columns: [\"_value\", \"_time\"]",
									Start: ast.Position{
										Column: 13,
										Line:   82,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   82,
										},
										File:   "sort_test.flux",
										Source: "columns: [\"_value\", \"_time\"]",
										Start: ast.Position{
											Column: 13,
											Line:   82,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   82,
											},
											File:   "sort_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   82,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   82,
											},
											File:   "sort_test.flux",
											Source: "[\"_value\", \"_time\"]",
											Start: ast.Position{
												Column: 22,
												Line:   82,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   82,
												},
												File:   "sort_test.flux",
												Source: "\"_value\"",
												Start: ast.Position{
													Column: 23,
													Line:   82,
												},
											},
										},
										Value: "_value",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   82,
												},
												File:   "sort_test.flux",
												Source: "\"_time\"",
												Start: ast.Position{
													Column: 33,
													Line:   82,
												},
											},
										},
										Value: "_time",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   82,
								},
								File:   "sort_test.flux",
								Source: "sort(columns: [\"_value\", \"_time\"])",
								Start: ast.Position{
									Column: 8,
									Line:   82,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   82,
									},
									File:   "sort_test.flux",
									Source: "sort",
									Start: ast.Position{
										Column: 8,
										Line:   82,
									},
								},
							},
							Name: "sort",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   80,
							},
							File:   "sort_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   80,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   80,
								},
								File:   "sort_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   80,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   80,
							},
							File:   "sort_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   80,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   84,
						},
						File:   "sort_test.flux",
						Source: "_sort = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sort})",
						Start: ast.Position{
							Column: 6,
							Line:   84,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   84,
							},
							File:   "sort_test.flux",
							Source: "_sort",
							Start: ast.Position{
								Column: 6,
								Line:   84,
							},
						},
					},
					Name: "_sort",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   84,
							},
							File:   "sort_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sort})",
							Start: ast.Position{
								Column: 14,
								Line:   84,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   84,
								},
								File:   "sort_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sort})",
								Start: ast.Position{
									Column: 20,
									Line:   84,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   84,
									},
									File:   "sort_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sort}",
									Start: ast.Position{
										Column: 21,
										Line:   84,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   84,
										},
										File:   "sort_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   84,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   84,
											},
											File:   "sort_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   84,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   84,
												},
												File:   "sort_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   84,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   84,
													},
													File:   "sort_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   84,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   84,
														},
														File:   "sort_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   84,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   84,
														},
														File:   "sort_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   84,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   84,
											},
											File:   "sort_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   84,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   84,
												},
												File:   "sort_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   84,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   84,
													},
													File:   "sort_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   84,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   84,
													},
													File:   "sort_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   84,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   84,
										},
										File:   "sort_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   84,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   84,
											},
											File:   "sort_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   84,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   84,
												},
												File:   "sort_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   84,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   84,
													},
													File:   "sort_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   84,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   84,
														},
														File:   "sort_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   84,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   84,
														},
														File:   "sort_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   84,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   84,
											},
											File:   "sort_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   84,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   84,
												},
												File:   "sort_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   84,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   84,
													},
													File:   "sort_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   84,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   84,
													},
													File:   "sort_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   84,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   84,
										},
										File:   "sort_test.flux",
										Source: "fn: t_sort",
										Start: ast.Position{
											Column: 100,
											Line:   84,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   84,
											},
											File:   "sort_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   84,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   84,
											},
											File:   "sort_test.flux",
											Source: "t_sort",
											Start: ast.Position{
												Column: 104,
												Line:   84,
											},
										},
									},
									Name: "t_sort",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   84,
					},
					File:   "sort_test.flux",
					Source: "test _sort = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sort})",
					Start: ast.Position{
						Column: 1,
						Line:   84,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "sort_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "sort_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "sort_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "sort_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "sort_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 3,
					Line:   66,
				},
				File:   "spread_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,51\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,140\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,175.97386476487634\n\"\n\ntest _spread = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> spread(),\n})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "spread_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "spread_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "spread_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "spread_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "spread_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "spread_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "spread_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "spread_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   58,
					},
					File:   "spread_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,51\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,140\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,175.97386476487634\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   42,
						},
						File:   "spread_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   58,
						},
						File:   "spread_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,51\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,140\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,175.97386476487634\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   42,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,51\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,140\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,175.97386476487634\n",
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   66,
						},
						File:   "spread_test.flux",
						Source: "_spread = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> spread(),\n})",
						Start: ast.Position{
							Column: 6,
							Line:   60,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   60,
							},
							File:   "spread_test.flux",
							Source: "_spread",
							Start: ast.Position{
								Column: 6,
								Line:   60,
							},
						},
					},
					Name: "_spread",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 3,
								Line:   66,
							},
							File:   "spread_test.flux",
							Source: "() => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> spread(),\n})",
							Start: ast.Position{
								Column: 16,
								Line:   60,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 3,
									Line:   66,
								},
								File:   "spread_test.flux",
								Source: "({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> spread(),\n})",
								Start: ast.Position{
									Column: 22,
									Line:   60,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 2,
										Line:   66,
									},
									File:   "spread_test.flux",
									Source: "{\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> spread(),\n}",
									Start: ast.Position{
										Column: 23,
										Line:   60,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   61,
										},
										File:   "spread_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 5,
											Line:   61,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   61,
											},
											File:   "spread_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 5,
												Line:   61,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 43,
													Line:   61,
												},
												File:   "spread_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 32,
													Line:   61,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   61,
													},
													File:   "spread_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 32,
														Line:   61,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   61,
														},
														File:   "spread_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 32,
															Line:   61,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 43,
															Line:   61,
														},
														File:   "spread_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 37,
															Line:   61,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   61,
											},
											File:   "spread_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 12,
												Line:   61,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   61,
												},
												File:   "spread_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 12,
													Line:   61,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   61,
													},
													File:   "spread_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 12,
														Line:   61,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   61,
													},
													File:   "spread_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 20,
														Line:   61,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   62,
										},
										File:   "spread_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 5,
											Line:   62,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 9,
												Line:   62,
											},
											File:   "spread_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 5,
												Line:   62,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   62,
												},
												File:   "spread_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 27,
													Line:   62,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   62,
													},
													File:   "spread_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 27,
														Line:   62,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 30,
															Line:   62,
														},
														File:   "spread_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 27,
															Line:   62,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   62,
														},
														File:   "spread_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 32,
															Line:   62,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   62,
											},
											File:   "spread_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 11,
												Line:   62,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   62,
												},
												File:   "spread_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 11,
													Line:   62,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   62,
													},
													File:   "spread_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 11,
														Line:   62,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   62,
													},
													File:   "spread_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 19,
														Line:   62,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 20,
											Line:   65,
										},
										File:   "spread_test.flux",
										Source: "fn: (table=<-) => table\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> spread()",
										Start: ast.Position{
											Column: 5,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 7,
												Line:   63,
											},
											File:   "spread_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 5,
												Line:   63,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   65,
											},
											File:   "spread_test.flux",
											Source: "(table=<-) => table\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> spread()",
											Start: ast.Position{
												Column: 9,
												Line:   63,
											},
										},
									},
									Body: &ast.PipeExpression{
										Argument: &ast.PipeExpression{
											Argument: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   63,
														},
														File:   "spread_test.flux",
														Source: "table",
														Start: ast.Position{
															Column: 23,
															Line:   63,
														},
													},
												},
												Name: "table",
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   64,
													},
													File:   "spread_test.flux",
													Source: "table\n        |> range(start: 2018-12-01T00:00:00Z)",
													Start: ast.Position{
														Column: 23,
														Line:   63,
													},
												},
											},
											Call: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   64,
															},
															File:   "spread_test.flux",
															Source: "start: 2018-12-01T00:00:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   64,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   64,
																},
																File:   "spread_test.flux",
																Source: "start: 2018-12-01T00:00:00Z",
																Start: ast.Position{
																	Column: 18,
																	Line:   64,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 23,
																		Line:   64,
																	},
																	File:   "spread_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 18,
																		Line:   64,
																	},
																},
															},
															Name: "start",
														},
														Separator: nil,
														Value: &ast.DateTimeLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 45,
																		Line:   64,
																	},
																	File:   "spread_test.flux",
																	Source: "2018-12-01T00:00:00Z",
																	Start: ast.Position{
																		Column: 25,
																		Line:   64,
																	},
																},
															},
															Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   64,
														},
														File:   "spread_test.flux",
														Source: "range(start: 2018-12-01T00:00:00Z)",
														Start: ast.Position{
															Column: 12,
															Line:   64,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 17,
																Line:   64,
															},
															File:   "spread_test.flux",
															Source: "range",
															Start: ast.Position{
																Column: 12,
																Line:   64,
															},
														},
													},
													Name: "range",
												},
												Lparen: nil,
												Rparen: nil,
											},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   65,
												},
												File:   "spread_test.flux",
												Source: "table\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> spread()",
												Start: ast.Position{
													Column: 23,
													Line:   63,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   65,
													},
													File:   "spread_test.flux",
													Source: "spread()",
													Start: ast.Position{
														Column: 12,
														Line:   65,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   65,
														},
														File:   "spread_test.flux",
														Source: "spread",
														Start: ast.Position{
															Column: 12,
															Line:   65,
														},
													},
												},
												Name: "spread",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   63,
												},
												File:   "spread_test.flux",
												Source: "table=<-",
												Start: ast.Position{
													Column: 10,
													Line:   63,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   63,
													},
													File:   "spread_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   63,
													},
												},
											},
											Name: "table",
										},
										Separator: nil,
										Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   63,
												},
												File:   "spread_test.flux",
												Source: "<-",
												Start: ast.Position{
													Column: 16,
													Line:   63,
												},
											},
										}},
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 3,
						Line:   66,
					},
					File:   "spread_test.flux",
					Source: "test _spread = () => ({\n    input: testing.loadStorage(csv: inData),\n    want: testing.loadMem(csv: outData),\n    fn: (table=<-) => table\n        |> range(start: 2018-12-01T00:00:00Z)\n        |> spread(),\n})",
					Start: ast.Position{
						Column: 1,
						Line:   60,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "spread_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "spread_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "spread_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "spread_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "spread_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 126,
					Line:   48,
				},
				File:   "state_count_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local\n,,1,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,stateCount\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local,1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local,2\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local,2\n\"\nt_state_count = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> stateCount(fn: (r) => r._value > 80.0)\n\ntest _state_count = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_count})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "state_count_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "state_count_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "state_count_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "state_count_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "state_count_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "state_count_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local\n,,1,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "state_count_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "state_count_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local\n,,1,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local\n,,1,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "state_count_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,stateCount\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local,1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local,2\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local,2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "state_count_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "state_count_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,stateCount\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local,1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local,2\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local,2\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,stateCount\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local,1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local,2\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local,1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local,2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 46,
						Line:   46,
					},
					File:   "state_count_test.flux",
					Source: "t_state_count = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> stateCount(fn: (r) => r._value > 80.0)",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   44,
						},
						File:   "state_count_test.flux",
						Source: "t_state_count",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_state_count",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 46,
							Line:   46,
						},
						File:   "state_count_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> stateCount(fn: (r) => r._value > 80.0)",
						Start: ast.Position{
							Column: 17,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 36,
										Line:   44,
									},
									File:   "state_count_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 31,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "state_count_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 31,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "state_count_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "state_count_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "state_count_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "state_count_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "state_count_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "state_count_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 46,
								Line:   46,
							},
							File:   "state_count_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> stateCount(fn: (r) => r._value > 80.0)",
							Start: ast.Position{
								Column: 31,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 45,
										Line:   46,
									},
									File:   "state_count_test.flux",
									Source: "fn: (r) => r._value > 80.0",
									Start: ast.Position{
										Column: 19,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 45,
											Line:   46,
										},
										File:   "state_count_test.flux",
										Source: "fn: (r) => r._value > 80.0",
										Start: ast.Position{
											Column: 19,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 21,
												Line:   46,
											},
											File:   "state_count_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 19,
												Line:   46,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   46,
											},
											File:   "state_count_test.flux",
											Source: "(r) => r._value > 80.0",
											Start: ast.Position{
												Column: 23,
												Line:   46,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   46,
												},
												File:   "state_count_test.flux",
												Source: "r._value > 80.0",
												Start: ast.Position{
													Column: 30,
													Line:   46,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   46,
													},
													File:   "state_count_test.flux",
													Source: "r._value",
													Start: ast.Position{
														Column: 30,
														Line:   46,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 31,
															Line:   46,
														},
														File:   "state_count_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 30,
															Line:   46,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 38,
															Line:   46,
														},
														File:   "state_count_test.flux",
														Source: "_value",
														Start: ast.Position{
															Column: 32,
															Line:   46,
														},
													},
												},
												Name: "_value",
											},
											Rbrack: nil,
										},
										Operator: 10,
										Right: &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   46,
													},
													File:   "state_count_test.flux",
													Source: "80.0",
													Start: ast.Position{
														Column: 41,
														Line:   46,
													},
												},
											},
											Value: 80.0,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 25,
													Line:   46,
												},
												File:   "state_count_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 24,
													Line:   46,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   46,
													},
													File:   "state_count_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 24,
														Line:   46,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   46,
								},
								File:   "state_count_test.flux",
								Source: "stateCount(fn: (r) => r._value > 80.0)",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 18,
										Line:   46,
									},
									File:   "state_count_test.flux",
									Source: "stateCount",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "stateCount",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   44,
							},
							File:   "state_count_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 18,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 23,
									Line:   44,
								},
								File:   "state_count_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 18,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   44,
							},
							File:   "state_count_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 24,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 126,
							Line:   48,
						},
						File:   "state_count_test.flux",
						Source: "_state_count = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_count})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   48,
							},
							File:   "state_count_test.flux",
							Source: "_state_count",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_state_count",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 126,
								Line:   48,
							},
							File:   "state_count_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_count})",
							Start: ast.Position{
								Column: 21,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 126,
									Line:   48,
								},
								File:   "state_count_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_count})",
								Start: ast.Position{
									Column: 27,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 125,
										Line:   48,
									},
									File:   "state_count_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_count}",
									Start: ast.Position{
										Column: 28,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   48,
										},
										File:   "state_count_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 29,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   48,
											},
											File:   "state_count_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 29,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   48,
												},
												File:   "state_count_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 56,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   48,
													},
													File:   "state_count_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 56,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   48,
														},
														File:   "state_count_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 56,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   48,
														},
														File:   "state_count_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 61,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   48,
											},
											File:   "state_count_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 36,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   48,
												},
												File:   "state_count_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 36,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   48,
													},
													File:   "state_count_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 36,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   48,
													},
													File:   "state_count_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 44,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 105,
											Line:   48,
										},
										File:   "state_count_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 70,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   48,
											},
											File:   "state_count_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 70,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   48,
												},
												File:   "state_count_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 92,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   48,
													},
													File:   "state_count_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 92,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 95,
															Line:   48,
														},
														File:   "state_count_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 92,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 104,
															Line:   48,
														},
														File:   "state_count_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 97,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   48,
											},
											File:   "state_count_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 76,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 91,
													Line:   48,
												},
												File:   "state_count_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 76,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   48,
													},
													File:   "state_count_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 76,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   48,
													},
													File:   "state_count_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 84,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 124,
											Line:   48,
										},
										File:   "state_count_test.flux",
										Source: "fn: t_state_count",
										Start: ast.Position{
											Column: 107,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   48,
											},
											File:   "state_count_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 107,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 124,
												Line:   48,
											},
											File:   "state_count_test.flux",
											Source: "t_state_count",
											Start: ast.Position{
												Column: 111,
												Line:   48,
											},
										},
									},
									Name: "t_state_count",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 126,
						Line:   48,
					},
					File:   "state_count_test.flux",
					Source: "test _state_count = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_count})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "state_count_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "state_count_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "state_count_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "state_count_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "state_count_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 132,
					Line:   48,
				},
				File:   "state_duration_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local\n,,1,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,stateDuration\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local,0\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local,10\n\"\nt_state_duration = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> stateDuration(fn: (r) => r._value > 80.0)\n\ntest _state_duration = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_duration})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "state_duration_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "state_duration_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "state_duration_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "state_duration_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "state_duration_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "state_duration_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local\n,,1,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "state_duration_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "state_duration_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local\n,,1,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local\n,,0,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local\n,,1,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local\n,,1,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "state_duration_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,stateDuration\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local,0\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local,10\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "state_duration_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "state_duration_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,stateDuration\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local,0\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local,10\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,long\n#group,false,false,true,true,false,false,true,true,true,false\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host,stateDuration\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,72.9,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,82.5,used_percent,swap,hostA.local,0\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,82.5,used_percent,swap,hostA.local,10\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,32.5,used_percent,swap,hostA.local,-1\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostA.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,82.9,used_percent,swap,hostB.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,32.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,42.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,52.5,used_percent,swap,hostB.local,-1\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,82.5,used_percent,swap,hostB.local,0\n,,1,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,92.6,used_percent,swap,hostB.local,10\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 49,
						Line:   46,
					},
					File:   "state_duration_test.flux",
					Source: "t_state_duration = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> stateDuration(fn: (r) => r._value > 80.0)",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   44,
						},
						File:   "state_duration_test.flux",
						Source: "t_state_duration",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_state_duration",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 49,
							Line:   46,
						},
						File:   "state_duration_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> stateDuration(fn: (r) => r._value > 80.0)",
						Start: ast.Position{
							Column: 20,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 39,
										Line:   44,
									},
									File:   "state_duration_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 34,
										Line:   44,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   45,
								},
								File:   "state_duration_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 34,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   45,
										},
										File:   "state_duration_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   45,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   45,
											},
											File:   "state_duration_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   45,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   45,
												},
												File:   "state_duration_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   45,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   45,
												},
												File:   "state_duration_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   45,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   45,
									},
									File:   "state_duration_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   45,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   45,
										},
										File:   "state_duration_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   45,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 49,
								Line:   46,
							},
							File:   "state_duration_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> stateDuration(fn: (r) => r._value > 80.0)",
							Start: ast.Position{
								Column: 34,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   46,
									},
									File:   "state_duration_test.flux",
									Source: "fn: (r) => r._value > 80.0",
									Start: ast.Position{
										Column: 22,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   46,
										},
										File:   "state_duration_test.flux",
										Source: "fn: (r) => r._value > 80.0",
										Start: ast.Position{
											Column: 22,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   46,
											},
											File:   "state_duration_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 22,
												Line:   46,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   46,
											},
											File:   "state_duration_test.flux",
											Source: "(r) => r._value > 80.0",
											Start: ast.Position{
												Column: 26,
												Line:   46,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   46,
												},
												File:   "state_duration_test.flux",
												Source: "r._value > 80.0",
												Start: ast.Position{
													Column: 33,
													Line:   46,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   46,
													},
													File:   "state_duration_test.flux",
													Source: "r._value",
													Start: ast.Position{
														Column: 33,
														Line:   46,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   46,
														},
														File:   "state_duration_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 33,
															Line:   46,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 41,
															Line:   46,
														},
														File:   "state_duration_test.flux",
														Source: "_value",
														Start: ast.Position{
															Column: 35,
															Line:   46,
														},
													},
												},
												Name: "_value",
											},
											Rbrack: nil,
										},
										Operator: 10,
										Right: &ast.FloatLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   46,
													},
													File:   "state_duration_test.flux",
													Source: "80.0",
													Start: ast.Position{
														Column: 44,
														Line:   46,
													},
												},
											},
											Value: 80.0,
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   46,
												},
												File:   "state_duration_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 27,
													Line:   46,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   46,
													},
													File:   "state_duration_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 27,
														Line:   46,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   46,
								},
								File:   "state_duration_test.flux",
								Source: "stateDuration(fn: (r) => r._value > 80.0)",
								Start: ast.Position{
									Column: 8,
									Line:   46,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   46,
									},
									File:   "state_duration_test.flux",
									Source: "stateDuration",
									Start: ast.Position{
										Column: 8,
										Line:   46,
									},
								},
							},
							Name: "stateDuration",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   44,
							},
							File:   "state_duration_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 21,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   44,
								},
								File:   "state_duration_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 21,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   44,
							},
							File:   "state_duration_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 27,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 132,
							Line:   48,
						},
						File:   "state_duration_test.flux",
						Source: "_state_duration = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_duration})",
						Start: ast.Position{
							Column: 6,
							Line:   48,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   48,
							},
							File:   "state_duration_test.flux",
							Source: "_state_duration",
							Start: ast.Position{
								Column: 6,
								Line:   48,
							},
						},
					},
					Name: "_state_duration",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 132,
								Line:   48,
							},
							File:   "state_duration_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_duration})",
							Start: ast.Position{
								Column: 24,
								Line:   48,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 132,
									Line:   48,
								},
								File:   "state_duration_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_duration})",
								Start: ast.Position{
									Column: 30,
									Line:   48,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 131,
										Line:   48,
									},
									File:   "state_duration_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_duration}",
									Start: ast.Position{
										Column: 31,
										Line:   48,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 71,
											Line:   48,
										},
										File:   "state_duration_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 32,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   48,
											},
											File:   "state_duration_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 32,
												Line:   48,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   48,
												},
												File:   "state_duration_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 59,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   48,
													},
													File:   "state_duration_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 59,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   48,
														},
														File:   "state_duration_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 59,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 70,
															Line:   48,
														},
														File:   "state_duration_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 64,
															Line:   48,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 71,
												Line:   48,
											},
											File:   "state_duration_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 39,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   48,
												},
												File:   "state_duration_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 39,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   48,
													},
													File:   "state_duration_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 39,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   48,
													},
													File:   "state_duration_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 47,
														Line:   48,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   48,
										},
										File:   "state_duration_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 73,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   48,
											},
											File:   "state_duration_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 73,
												Line:   48,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 107,
													Line:   48,
												},
												File:   "state_duration_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 95,
													Line:   48,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 107,
														Line:   48,
													},
													File:   "state_duration_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 95,
														Line:   48,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   48,
														},
														File:   "state_duration_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 95,
															Line:   48,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 107,
															Line:   48,
														},
														File:   "state_duration_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 100,
															Line:   48,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   48,
											},
											File:   "state_duration_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 79,
												Line:   48,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 94,
													Line:   48,
												},
												File:   "state_duration_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 79,
													Line:   48,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   48,
													},
													File:   "state_duration_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 79,
														Line:   48,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   48,
													},
													File:   "state_duration_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 87,
														Line:   48,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 130,
											Line:   48,
										},
										File:   "state_duration_test.flux",
										Source: "fn: t_state_duration",
										Start: ast.Position{
											Column: 110,
											Line:   48,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   48,
											},
											File:   "state_duration_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 110,
												Line:   48,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 130,
												Line:   48,
											},
											File:   "state_duration_test.flux",
											Source: "t_state_duration",
											Start: ast.Position{
												Column: 114,
												Line:   48,
											},
										},
									},
									Name: "t_state_duration",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 132,
						Line:   48,
					},
					File:   "state_duration_test.flux",
					Source: "test _state_duration = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_state_duration})",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "state_duration_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "state_duration_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "state_duration_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "state_duration_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "state_duration_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   55,
				},
				File:   "stddev_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,20.5621010599598\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,52.060541679855774\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,59.9881468845287\n\"\nt_stddev = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> stddev()\n\ntest _stddev = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_stddev})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "stddev_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "stddev_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "stddev_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "stddev_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "stddev_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "stddev_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "stddev_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "stddev_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   50,
					},
					File:   "stddev_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,20.5621010599598\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,52.060541679855774\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,59.9881468845287\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   42,
						},
						File:   "stddev_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   50,
						},
						File:   "stddev_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,20.5621010599598\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,52.060541679855774\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,59.9881468845287\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   42,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,20.5621010599598\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,52.060541679855774\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,59.9881468845287\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 16,
						Line:   53,
					},
					File:   "stddev_test.flux",
					Source: "t_stddev = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> stddev()",
					Start: ast.Position{
						Column: 1,
						Line:   51,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   51,
						},
						File:   "stddev_test.flux",
						Source: "t_stddev",
						Start: ast.Position{
							Column: 1,
							Line:   51,
						},
					},
				},
				Name: "t_stddev",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   53,
						},
						File:   "stddev_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> stddev()",
						Start: ast.Position{
							Column: 12,
							Line:   51,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 31,
										Line:   51,
									},
									File:   "stddev_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 26,
										Line:   51,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   52,
								},
								File:   "stddev_test.flux",
								Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)",
								Start: ast.Position{
									Column: 26,
									Line:   51,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   52,
										},
										File:   "stddev_test.flux",
										Source: "start: 2018-12-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   52,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   52,
											},
											File:   "stddev_test.flux",
											Source: "start: 2018-12-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   52,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   52,
												},
												File:   "stddev_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   52,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   52,
												},
												File:   "stddev_test.flux",
												Source: "2018-12-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   52,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   52,
									},
									File:   "stddev_test.flux",
									Source: "range(start: 2018-12-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   52,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   52,
										},
										File:   "stddev_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   52,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 16,
								Line:   53,
							},
							File:   "stddev_test.flux",
							Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> stddev()",
							Start: ast.Position{
								Column: 26,
								Line:   51,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   53,
								},
								File:   "stddev_test.flux",
								Source: "stddev()",
								Start: ast.Position{
									Column: 8,
									Line:   53,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   53,
									},
									File:   "stddev_test.flux",
									Source: "stddev",
									Start: ast.Position{
										Column: 8,
										Line:   53,
									},
								},
							},
							Name: "stddev",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   51,
							},
							File:   "stddev_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   51,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   51,
								},
								File:   "stddev_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   51,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   51,
							},
							File:   "stddev_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   51,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   55,
						},
						File:   "stddev_test.flux",
						Source: "_stddev = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_stddev})",
						Start: ast.Position{
							Column: 6,
							Line:   55,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   55,
							},
							File:   "stddev_test.flux",
							Source: "_stddev",
							Start: ast.Position{
								Column: 6,
								Line:   55,
							},
						},
					},
					Name: "_stddev",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   55,
							},
							File:   "stddev_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_stddev})",
							Start: ast.Position{
								Column: 16,
								Line:   55,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   55,
								},
								File:   "stddev_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_stddev})",
								Start: ast.Position{
									Column: 22,
									Line:   55,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   55,
									},
									File:   "stddev_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_stddev}",
									Start: ast.Position{
										Column: 23,
										Line:   55,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   55,
										},
										File:   "stddev_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 24,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   55,
											},
											File:   "stddev_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 24,
												Line:   55,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   55,
												},
												File:   "stddev_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 51,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   55,
													},
													File:   "stddev_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 51,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   55,
														},
														File:   "stddev_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 51,
															Line:   55,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   55,
														},
														File:   "stddev_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 56,
															Line:   55,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   55,
											},
											File:   "stddev_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 31,
												Line:   55,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   55,
												},
												File:   "stddev_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 31,
													Line:   55,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   55,
													},
													File:   "stddev_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 31,
														Line:   55,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   55,
													},
													File:   "stddev_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 39,
														Line:   55,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 100,
											Line:   55,
										},
										File:   "stddev_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 65,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   55,
											},
											File:   "stddev_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 65,
												Line:   55,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   55,
												},
												File:   "stddev_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 87,
													Line:   55,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   55,
													},
													File:   "stddev_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 87,
														Line:   55,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 90,
															Line:   55,
														},
														File:   "stddev_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 87,
															Line:   55,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   55,
														},
														File:   "stddev_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 92,
															Line:   55,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 100,
												Line:   55,
											},
											File:   "stddev_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 71,
												Line:   55,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 86,
													Line:   55,
												},
												File:   "stddev_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 71,
													Line:   55,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   55,
													},
													File:   "stddev_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 71,
														Line:   55,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   55,
													},
													File:   "stddev_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 79,
														Line:   55,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   55,
										},
										File:   "stddev_test.flux",
										Source: "fn: t_stddev",
										Start: ast.Position{
											Column: 102,
											Line:   55,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   55,
											},
											File:   "stddev_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 102,
												Line:   55,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   55,
											},
											File:   "stddev_test.flux",
											Source: "t_stddev",
											Start: ast.Position{
												Column: 106,
												Line:   55,
											},
										},
									},
									Name: "t_stddev",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   55,
					},
					File:   "stddev_test.flux",
					Source: "test _stddev = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_stddev})",
					Start: ast.Position{
						Column: 1,
						Line:   55,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "stddev_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "stddev_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "stddev_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "stddev_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "stddev_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 130,
					Line:   30,
				},
				File:   "string_interp_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,failed to execute query: failed to initialize execute state: missing expected annotation group,\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#partition,false,false,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,34.982447293755506,field1,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,34.98204153981662,field1,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,34.982252364543626,field1,disk,disk1s1,apfs,host.local,/\n\"\nn = 1\nfieldSelect = \"field{n}\"\nt_string_interp = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._field == fieldSelect)\n\ntest _string_interp = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_interp})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "string_interp_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "string_interp_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "string_interp_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "string_interp_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "string_interp_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   14,
					},
					File:   "string_interp_test.flux",
					Source: "inData = \"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,failed to execute query: failed to initialize execute state: missing expected annotation group,\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "string_interp_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   14,
						},
						File:   "string_interp_test.flux",
						Source: "\"\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,failed to execute query: failed to initialize execute state: missing expected annotation group,\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,string\n#group,true,true\n#default,,\n,error,reference\n,failed to execute query: failed to initialize execute state: missing expected annotation group,\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   23,
					},
					File:   "string_interp_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#partition,false,false,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,34.982447293755506,field1,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,34.98204153981662,field1,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,34.982252364543626,field1,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   15,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   15,
						},
						File:   "string_interp_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   15,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   23,
						},
						File:   "string_interp_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#partition,false,false,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,34.982447293755506,field1,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,34.98204153981662,field1,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,34.982252364543626,field1,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   15,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#partition,false,false,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:56Z,34.982447293755506,field1,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,34.98204153981662,field1,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,34.982252364543626,field1,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   24,
					},
					File:   "string_interp_test.flux",
					Source: "n = 1",
					Start: ast.Position{
						Column: 1,
						Line:   24,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   24,
						},
						File:   "string_interp_test.flux",
						Source: "n",
						Start: ast.Position{
							Column: 1,
							Line:   24,
						},
					},
				},
				Name: "n",
			},
			Init: &ast.IntegerLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   24,
						},
						File:   "string_interp_test.flux",
						Source: "1",
						Start: ast.Position{
							Column: 5,
							Line:   24,
						},
					},
				},
				Value: int64(1),
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 25,
						Line:   25,
					},
					File:   "string_interp_test.flux",
					Source: "fieldSelect = \"field{n}\"",
					Start: ast.Position{
						Column: 1,
						Line:   25,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 12,
							Line:   25,
						},
						File:   "string_interp_test.flux",
						Source: "fieldSelect",
						Start: ast.Position{
							Column: 1,
							Line:   25,
						},
					},
				},
				Name: "fieldSelect",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   25,
						},
						File:   "string_interp_test.flux",
						Source: "\"field{n}\"",
						Start: ast.Position{
							Column: 15,
							Line:   25,
						},
					},
				},
				Value: "field{n}",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 50,
						Line:   28,
					},
					File:   "string_interp_test.flux",
					Source: "t_string_interp = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._field == fieldSelect)",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 16,
							Line:   26,
						},
						File:   "string_interp_test.flux",
						Source: "t_string_interp",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "t_string_interp",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 50,
							Line:   28,
						},
						File:   "string_interp_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._field == fieldSelect)",
						Start: ast.Position{
							Column: 19,
							Line:   26,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   26,
									},
									File:   "string_interp_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 33,
										Line:   26,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   27,
								},
								File:   "string_interp_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 33,
									Line:   26,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   27,
										},
										File:   "string_interp_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   27,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   27,
											},
											File:   "string_interp_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   27,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   27,
												},
												File:   "string_interp_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   27,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   27,
												},
												File:   "string_interp_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   27,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   27,
									},
									File:   "string_interp_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   27,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   27,
										},
										File:   "string_interp_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   27,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 50,
								Line:   28,
							},
							File:   "string_interp_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> filter(fn: (r) => r._field == fieldSelect)",
							Start: ast.Position{
								Column: 33,
								Line:   26,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 49,
										Line:   28,
									},
									File:   "string_interp_test.flux",
									Source: "fn: (r) => r._field == fieldSelect",
									Start: ast.Position{
										Column: 15,
										Line:   28,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   28,
										},
										File:   "string_interp_test.flux",
										Source: "fn: (r) => r._field == fieldSelect",
										Start: ast.Position{
											Column: 15,
											Line:   28,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   28,
											},
											File:   "string_interp_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   28,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   28,
											},
											File:   "string_interp_test.flux",
											Source: "(r) => r._field == fieldSelect",
											Start: ast.Position{
												Column: 19,
												Line:   28,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   28,
												},
												File:   "string_interp_test.flux",
												Source: "r._field == fieldSelect",
												Start: ast.Position{
													Column: 26,
													Line:   28,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   28,
													},
													File:   "string_interp_test.flux",
													Source: "r._field",
													Start: ast.Position{
														Column: 26,
														Line:   28,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   28,
														},
														File:   "string_interp_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   28,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   28,
														},
														File:   "string_interp_test.flux",
														Source: "_field",
														Start: ast.Position{
															Column: 28,
															Line:   28,
														},
													},
												},
												Name: "_field",
											},
											Rbrack: nil,
										},
										Operator: 17,
										Right: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   28,
													},
													File:   "string_interp_test.flux",
													Source: "fieldSelect",
													Start: ast.Position{
														Column: 38,
														Line:   28,
													},
												},
											},
											Name: "fieldSelect",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   28,
												},
												File:   "string_interp_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   28,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   28,
													},
													File:   "string_interp_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   28,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 50,
									Line:   28,
								},
								File:   "string_interp_test.flux",
								Source: "filter(fn: (r) => r._field == fieldSelect)",
								Start: ast.Position{
									Column: 8,
									Line:   28,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   28,
									},
									File:   "string_interp_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   28,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   26,
							},
							File:   "string_interp_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 20,
								Line:   26,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   26,
								},
								File:   "string_interp_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 20,
									Line:   26,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   26,
							},
							File:   "string_interp_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 26,
								Line:   26,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 130,
							Line:   30,
						},
						File:   "string_interp_test.flux",
						Source: "_string_interp = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_interp})",
						Start: ast.Position{
							Column: 6,
							Line:   30,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   30,
							},
							File:   "string_interp_test.flux",
							Source: "_string_interp",
							Start: ast.Position{
								Column: 6,
								Line:   30,
							},
						},
					},
					Name: "_string_interp",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 130,
								Line:   30,
							},
							File:   "string_interp_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_interp})",
							Start: ast.Position{
								Column: 23,
								Line:   30,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 130,
									Line:   30,
								},
								File:   "string_interp_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_interp})",
								Start: ast.Position{
									Column: 29,
									Line:   30,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 129,
										Line:   30,
									},
									File:   "string_interp_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_interp}",
									Start: ast.Position{
										Column: 30,
										Line:   30,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   30,
										},
										File:   "string_interp_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 31,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   30,
											},
											File:   "string_interp_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 31,
												Line:   30,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   30,
												},
												File:   "string_interp_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 58,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   30,
													},
													File:   "string_interp_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 58,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   30,
														},
														File:   "string_interp_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 58,
															Line:   30,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   30,
														},
														File:   "string_interp_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 63,
															Line:   30,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   30,
											},
											File:   "string_interp_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 38,
												Line:   30,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 57,
													Line:   30,
												},
												File:   "string_interp_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 38,
													Line:   30,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   30,
													},
													File:   "string_interp_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 38,
														Line:   30,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   30,
													},
													File:   "string_interp_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 46,
														Line:   30,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 107,
											Line:   30,
										},
										File:   "string_interp_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 72,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   30,
											},
											File:   "string_interp_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 72,
												Line:   30,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   30,
												},
												File:   "string_interp_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 94,
													Line:   30,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   30,
													},
													File:   "string_interp_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 94,
														Line:   30,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   30,
														},
														File:   "string_interp_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 94,
															Line:   30,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 106,
															Line:   30,
														},
														File:   "string_interp_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 99,
															Line:   30,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 107,
												Line:   30,
											},
											File:   "string_interp_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 78,
												Line:   30,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   30,
												},
												File:   "string_interp_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 78,
													Line:   30,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   30,
													},
													File:   "string_interp_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 78,
														Line:   30,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   30,
													},
													File:   "string_interp_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 86,
														Line:   30,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 128,
											Line:   30,
										},
										File:   "string_interp_test.flux",
										Source: "fn: t_string_interp",
										Start: ast.Position{
											Column: 109,
											Line:   30,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 111,
												Line:   30,
											},
											File:   "string_interp_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 109,
												Line:   30,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 128,
												Line:   30,
											},
											File:   "string_interp_test.flux",
											Source: "t_string_interp",
											Start: ast.Position{
												Column: 113,
												Line:   30,
											},
										},
									},
									Name: "t_string_interp",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 130,
						Line:   30,
					},
					File:   "string_interp_test.flux",
					Source: "test _string_interp = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_interp})",
					Start: ast.Position{
						Column: 1,
						Line:   30,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "string_interp_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "string_interp_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "string_interp_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "string_interp_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "string_interp_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 124,
					Line:   26,
				},
				File:   "string_max_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n\"\noutData = \"error: invalid use of function: *functions.MaxSelector has no implementation for type string\n\"\nt_string_max = (table=<-) => table\n    |> range(start: 2018-05-22T19:54:16Z)\n    |> max()\n\ntest _string_max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_max})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "string_max_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "string_max_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "string_max_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "string_max_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "string_max_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "string_max_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "string_max_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "string_max_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   21,
					},
					File:   "string_max_test.flux",
					Source: "outData = \"error: invalid use of function: *functions.MaxSelector has no implementation for type string\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "string_max_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   21,
						},
						File:   "string_max_test.flux",
						Source: "\"error: invalid use of function: *functions.MaxSelector has no implementation for type string\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "error: invalid use of function: *functions.MaxSelector has no implementation for type string\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   24,
					},
					File:   "string_max_test.flux",
					Source: "t_string_max = (table=<-) => table\n    |> range(start: 2018-05-22T19:54:16Z)\n    |> max()",
					Start: ast.Position{
						Column: 1,
						Line:   22,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   22,
						},
						File:   "string_max_test.flux",
						Source: "t_string_max",
						Start: ast.Position{
							Column: 1,
							Line:   22,
						},
					},
				},
				Name: "t_string_max",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   24,
						},
						File:   "string_max_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:54:16Z)\n    |> max()",
						Start: ast.Position{
							Column: 16,
							Line:   22,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   22,
									},
									File:   "string_max_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 30,
										Line:   22,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   23,
								},
								File:   "string_max_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:54:16Z)",
								Start: ast.Position{
									Column: 30,
									Line:   22,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   23,
										},
										File:   "string_max_test.flux",
										Source: "start: 2018-05-22T19:54:16Z",
										Start: ast.Position{
											Column: 14,
											Line:   23,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   23,
											},
											File:   "string_max_test.flux",
											Source: "start: 2018-05-22T19:54:16Z",
											Start: ast.Position{
												Column: 14,
												Line:   23,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   23,
												},
												File:   "string_max_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   23,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   23,
												},
												File:   "string_max_test.flux",
												Source: "2018-05-22T19:54:16Z",
												Start: ast.Position{
													Column: 21,
													Line:   23,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:54:16Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   23,
									},
									File:   "string_max_test.flux",
									Source: "range(start: 2018-05-22T19:54:16Z)",
									Start: ast.Position{
										Column: 8,
										Line:   23,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   23,
										},
										File:   "string_max_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   23,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   24,
							},
							File:   "string_max_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:54:16Z)\n    |> max()",
							Start: ast.Position{
								Column: 30,
								Line:   22,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   24,
								},
								File:   "string_max_test.flux",
								Source: "max()",
								Start: ast.Position{
									Column: 8,
									Line:   24,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   24,
									},
									File:   "string_max_test.flux",
									Source: "max",
									Start: ast.Position{
										Column: 8,
										Line:   24,
									},
								},
							},
							Name: "max",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   22,
							},
							File:   "string_max_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   22,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   22,
								},
								File:   "string_max_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   22,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   22,
							},
							File:   "string_max_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   22,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 124,
							Line:   26,
						},
						File:   "string_max_test.flux",
						Source: "_string_max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_max})",
						Start: ast.Position{
							Column: 6,
							Line:   26,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   26,
							},
							File:   "string_max_test.flux",
							Source: "_string_max",
							Start: ast.Position{
								Column: 6,
								Line:   26,
							},
						},
					},
					Name: "_string_max",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 124,
								Line:   26,
							},
							File:   "string_max_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_max})",
							Start: ast.Position{
								Column: 20,
								Line:   26,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 124,
									Line:   26,
								},
								File:   "string_max_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_max})",
								Start: ast.Position{
									Column: 26,
									Line:   26,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 123,
										Line:   26,
									},
									File:   "string_max_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_max}",
									Start: ast.Position{
										Column: 27,
										Line:   26,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 67,
											Line:   26,
										},
										File:   "string_max_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 28,
											Line:   26,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   26,
											},
											File:   "string_max_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 28,
												Line:   26,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 66,
													Line:   26,
												},
												File:   "string_max_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 55,
													Line:   26,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 66,
														Line:   26,
													},
													File:   "string_max_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 55,
														Line:   26,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   26,
														},
														File:   "string_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 55,
															Line:   26,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   26,
														},
														File:   "string_max_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 60,
															Line:   26,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   26,
											},
											File:   "string_max_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 35,
												Line:   26,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   26,
												},
												File:   "string_max_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 35,
													Line:   26,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 42,
														Line:   26,
													},
													File:   "string_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 35,
														Line:   26,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 54,
														Line:   26,
													},
													File:   "string_max_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 43,
														Line:   26,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   26,
										},
										File:   "string_max_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 69,
											Line:   26,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 73,
												Line:   26,
											},
											File:   "string_max_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 69,
												Line:   26,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 103,
													Line:   26,
												},
												File:   "string_max_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 91,
													Line:   26,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 103,
														Line:   26,
													},
													File:   "string_max_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 91,
														Line:   26,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   26,
														},
														File:   "string_max_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 91,
															Line:   26,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   26,
														},
														File:   "string_max_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 96,
															Line:   26,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   26,
											},
											File:   "string_max_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 75,
												Line:   26,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 90,
													Line:   26,
												},
												File:   "string_max_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 75,
													Line:   26,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   26,
													},
													File:   "string_max_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 75,
														Line:   26,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   26,
													},
													File:   "string_max_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 83,
														Line:   26,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 122,
											Line:   26,
										},
										File:   "string_max_test.flux",
										Source: "fn: t_string_max",
										Start: ast.Position{
											Column: 106,
											Line:   26,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   26,
											},
											File:   "string_max_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 106,
												Line:   26,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   26,
											},
											File:   "string_max_test.flux",
											Source: "t_string_max",
											Start: ast.Position{
												Column: 110,
												Line:   26,
											},
										},
									},
									Name: "t_string_max",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 124,
						Line:   26,
					},
					File:   "string_max_test.flux",
					Source: "test _string_max = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_max})",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "string_max_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "string_max_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "string_max_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "string_max_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "string_max_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 126,
					Line:   36,
				},
				File:   "string_sort_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n\"\nt_string_sort = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> sort()\n\ntest _string_sort = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_sort})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "string_sort_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "string_sort_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "string_sort_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "string_sort_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "string_sort_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "string_sort_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "string_sort_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "string_sort_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "string_sort_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "string_sort_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "string_sort_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:16Z,13F2,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,2COTDe,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:26Z,a,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,b,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:54:06Z,cLnSkNMI,used_percent,disk,disk1,apfs,host.local,/\n,,0,2018-05-22T19:53:26Z,2030-01-01T00:00:00Z,2018-05-22T19:53:36Z,k9ngm,used_percent,disk,disk1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   34,
					},
					File:   "string_sort_test.flux",
					Source: "t_string_sort = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> sort()",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   32,
						},
						File:   "string_sort_test.flux",
						Source: "t_string_sort",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "t_string_sort",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   34,
						},
						File:   "string_sort_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> sort()",
						Start: ast.Position{
							Column: 17,
							Line:   32,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 36,
										Line:   32,
									},
									File:   "string_sort_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 31,
										Line:   32,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   33,
								},
								File:   "string_sort_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 31,
									Line:   32,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   33,
										},
										File:   "string_sort_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   33,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   33,
											},
											File:   "string_sort_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   33,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   33,
												},
												File:   "string_sort_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   33,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   33,
												},
												File:   "string_sort_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   33,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   33,
									},
									File:   "string_sort_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   33,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   33,
										},
										File:   "string_sort_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   33,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   34,
							},
							File:   "string_sort_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> sort()",
							Start: ast.Position{
								Column: 31,
								Line:   32,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   34,
								},
								File:   "string_sort_test.flux",
								Source: "sort()",
								Start: ast.Position{
									Column: 8,
									Line:   34,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   34,
									},
									File:   "string_sort_test.flux",
									Source: "sort",
									Start: ast.Position{
										Column: 8,
										Line:   34,
									},
								},
							},
							Name: "sort",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   32,
							},
							File:   "string_sort_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 18,
								Line:   32,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 23,
									Line:   32,
								},
								File:   "string_sort_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 18,
									Line:   32,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   32,
							},
							File:   "string_sort_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 24,
								Line:   32,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 126,
							Line:   36,
						},
						File:   "string_sort_test.flux",
						Source: "_string_sort = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_sort})",
						Start: ast.Position{
							Column: 6,
							Line:   36,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   36,
							},
							File:   "string_sort_test.flux",
							Source: "_string_sort",
							Start: ast.Position{
								Column: 6,
								Line:   36,
							},
						},
					},
					Name: "_string_sort",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 126,
								Line:   36,
							},
							File:   "string_sort_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_sort})",
							Start: ast.Position{
								Column: 21,
								Line:   36,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 126,
									Line:   36,
								},
								File:   "string_sort_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_sort})",
								Start: ast.Position{
									Column: 27,
									Line:   36,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 125,
										Line:   36,
									},
									File:   "string_sort_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_sort}",
									Start: ast.Position{
										Column: 28,
										Line:   36,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   36,
										},
										File:   "string_sort_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 29,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   36,
											},
											File:   "string_sort_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 29,
												Line:   36,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   36,
												},
												File:   "string_sort_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 56,
													Line:   36,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   36,
													},
													File:   "string_sort_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 56,
														Line:   36,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   36,
														},
														File:   "string_sort_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 56,
															Line:   36,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   36,
														},
														File:   "string_sort_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 61,
															Line:   36,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   36,
											},
											File:   "string_sort_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 36,
												Line:   36,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   36,
												},
												File:   "string_sort_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 36,
													Line:   36,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   36,
													},
													File:   "string_sort_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 36,
														Line:   36,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   36,
													},
													File:   "string_sort_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 44,
														Line:   36,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 105,
											Line:   36,
										},
										File:   "string_sort_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 70,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   36,
											},
											File:   "string_sort_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 70,
												Line:   36,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   36,
												},
												File:   "string_sort_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 92,
													Line:   36,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   36,
													},
													File:   "string_sort_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 92,
														Line:   36,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 95,
															Line:   36,
														},
														File:   "string_sort_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 92,
															Line:   36,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 104,
															Line:   36,
														},
														File:   "string_sort_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 97,
															Line:   36,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   36,
											},
											File:   "string_sort_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 76,
												Line:   36,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 91,
													Line:   36,
												},
												File:   "string_sort_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 76,
													Line:   36,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   36,
													},
													File:   "string_sort_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 76,
														Line:   36,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   36,
													},
													File:   "string_sort_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 84,
														Line:   36,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 124,
											Line:   36,
										},
										File:   "string_sort_test.flux",
										Source: "fn: t_string_sort",
										Start: ast.Position{
											Column: 107,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   36,
											},
											File:   "string_sort_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 107,
												Line:   36,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 124,
												Line:   36,
											},
											File:   "string_sort_test.flux",
											Source: "t_string_sort",
											Start: ast.Position{
												Column: 111,
												Line:   36,
											},
										},
									},
									Name: "t_string_sort",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 126,
						Line:   36,
					},
					File:   "string_sort_test.flux",
					Source: "test _string_sort = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_string_sort})",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "string_sort_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "string_sort_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "string_sort_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "string_sort_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "string_sort_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   63,
				},
				File:   "sum_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,288\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,57\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,65.87456992286917\n\"\nt_sum = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> sum()\n\ntest _sum = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sum})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "sum_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "sum_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "sum_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "sum_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "sum_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   41,
					},
					File:   "sum_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "sum_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   41,
						},
						File:   "sum_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,unsignedLong\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:05Z,70\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:15Z,48\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:25Z,33\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:35Z,24\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:45Z,38\n,,0,Sgf,DlXwgrw,2018-12-18T22:11:55Z,75\n\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:05Z,96\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:15Z,-44\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:25Z,-25\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:35Z,46\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:45Z,-2\n,,1,Sgf,GxUPYq1,2018-12-18T22:11:55Z,-14\n\n#datatype,string,long,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_measurement,_field,_time,_value\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:05Z,-61.68790887989735\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:15Z,-6.3173755351186465\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:25Z,-26.049728557657513\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:35Z,114.285955884979\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:45Z,16.140262630578995\n,,2,Sgf,qaOnnQc,2018-12-18T22:11:55Z,29.50336437998469\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   58,
					},
					File:   "sum_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,288\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,57\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,65.87456992286917\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   42,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   42,
						},
						File:   "sum_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   42,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   58,
						},
						File:   "sum_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,288\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,57\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,65.87456992286917\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   42,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,unsignedLong\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,0,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,DlXwgrw,288\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,long\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,1,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,GxUPYq1,57\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,double\n#group,false,false,true,true,true,true,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_field,_value\n,,2,2018-12-01T00:00:00Z,2030-01-01T00:00:00Z,Sgf,qaOnnQc,65.87456992286917\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   61,
					},
					File:   "sum_test.flux",
					Source: "t_sum = (table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> sum()",
					Start: ast.Position{
						Column: 1,
						Line:   59,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   59,
						},
						File:   "sum_test.flux",
						Source: "t_sum",
						Start: ast.Position{
							Column: 1,
							Line:   59,
						},
					},
				},
				Name: "t_sum",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   61,
						},
						File:   "sum_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> sum()",
						Start: ast.Position{
							Column: 9,
							Line:   59,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   59,
									},
									File:   "sum_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 23,
										Line:   59,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   60,
								},
								File:   "sum_test.flux",
								Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)",
								Start: ast.Position{
									Column: 23,
									Line:   59,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   60,
										},
										File:   "sum_test.flux",
										Source: "start: 2018-12-01T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   60,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   60,
											},
											File:   "sum_test.flux",
											Source: "start: 2018-12-01T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   60,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   60,
												},
												File:   "sum_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   60,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   60,
												},
												File:   "sum_test.flux",
												Source: "2018-12-01T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   60,
												},
											},
										},
										Value: parser.MustParseTime("2018-12-01T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   60,
									},
									File:   "sum_test.flux",
									Source: "range(start: 2018-12-01T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   60,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   60,
										},
										File:   "sum_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   60,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   61,
							},
							File:   "sum_test.flux",
							Source: "table\n    |> range(start: 2018-12-01T00:00:00Z)\n    |> sum()",
							Start: ast.Position{
								Column: 23,
								Line:   59,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   61,
								},
								File:   "sum_test.flux",
								Source: "sum()",
								Start: ast.Position{
									Column: 8,
									Line:   61,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   61,
									},
									File:   "sum_test.flux",
									Source: "sum",
									Start: ast.Position{
										Column: 8,
										Line:   61,
									},
								},
							},
							Name: "sum",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   59,
							},
							File:   "sum_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   59,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   59,
								},
								File:   "sum_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   59,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   59,
							},
							File:   "sum_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   59,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   63,
						},
						File:   "sum_test.flux",
						Source: "_sum = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sum})",
						Start: ast.Position{
							Column: 6,
							Line:   63,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   63,
							},
							File:   "sum_test.flux",
							Source: "_sum",
							Start: ast.Position{
								Column: 6,
								Line:   63,
							},
						},
					},
					Name: "_sum",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   63,
							},
							File:   "sum_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sum})",
							Start: ast.Position{
								Column: 13,
								Line:   63,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   63,
								},
								File:   "sum_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sum})",
								Start: ast.Position{
									Column: 19,
									Line:   63,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   63,
									},
									File:   "sum_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sum}",
									Start: ast.Position{
										Column: 20,
										Line:   63,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   63,
										},
										File:   "sum_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   63,
											},
											File:   "sum_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   63,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   63,
												},
												File:   "sum_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   63,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   63,
													},
													File:   "sum_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   63,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   63,
														},
														File:   "sum_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   63,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   63,
														},
														File:   "sum_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   63,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   63,
											},
											File:   "sum_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   63,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   63,
												},
												File:   "sum_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   63,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   63,
													},
													File:   "sum_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   63,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   63,
													},
													File:   "sum_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   63,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   63,
										},
										File:   "sum_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   63,
											},
											File:   "sum_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   63,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   63,
												},
												File:   "sum_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   63,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   63,
													},
													File:   "sum_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   63,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   63,
														},
														File:   "sum_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   63,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   63,
														},
														File:   "sum_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   63,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   63,
											},
											File:   "sum_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   63,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   63,
												},
												File:   "sum_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   63,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   63,
													},
													File:   "sum_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   63,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   63,
													},
													File:   "sum_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   63,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   63,
										},
										File:   "sum_test.flux",
										Source: "fn: t_sum",
										Start: ast.Position{
											Column: 99,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   63,
											},
											File:   "sum_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   63,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   63,
											},
											File:   "sum_test.flux",
											Source: "t_sum",
											Start: ast.Position{
												Column: 103,
												Line:   63,
											},
										},
									},
									Name: "t_sum",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   63,
					},
					File:   "sum_test.flux",
					Source: "test _sum = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_sum})",
					Start: ast.Position{
						Column: 1,
						Line:   63,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "sum_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "sum_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "sum_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "sum_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "sum_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 152,
					Line:   89,
				},
				File:   "table_fns_findcolumn_map_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"csv\"\nimport \"experimental\"\n\noption now = () => 2030-01-01T00:00:00Z\n\n// _value column in \"times\" field are timestamps, starting from\n// 1970-01-02, 1970-01-03, etc\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,0,times,events,2020-08-11T17:56:20Z,86400000000000,New York\n,,1,times,events,2020-08-11T17:56:20Z,172800000000000,Chicago\n,,2,times,events,2020-08-11T17:56:20Z,259200000000000,Los Angeles\n,,3,times,events,2020-08-11T17:56:20Z,345600000000000,Boston\n\n#datatype,string,long,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,4,temp,city_data,1970-01-02T00:00:10Z,20.0,New York\n,,4,temp,city_data,1970-01-02T00:00:20Z,21.0,New York\n,,4,temp,city_data,1970-01-02T00:00:30Z,22.0,New York\n,,4,temp,city_data,1970-01-02T00:00:40Z,23.0,New York\n,,4,temp,city_data,1970-01-02T00:00:50Z,24.0,New York\n\n,,5,temp,city_data,1970-01-03T00:00:10Z,18.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:20Z,19.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:30Z,20.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:40Z,21.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:50Z,22.0,Chicago\n\n,,6,temp,city_data,1970-01-04T00:00:10Z,47.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:20Z,48.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:30Z,49.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:40Z,50.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:50Z,51.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:00Z,52.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:10Z,53.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:20Z,54.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:30Z,55.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:40Z,56.0,Los Angeles\n\n,,7,temp,city_data,1970-01-05T00:00:10Z,15.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:20Z,16.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:30Z,17.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:40Z,18.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:50Z,19.0,Boston\n\n,,8,temp,city_data,1970-01-06T00:00:10Z,65.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:20Z,66.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:30Z,67.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:40Z,68.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:50Z,69.0,Austin\n\"\noutData = \"\n#datatype,string,long,string,dateTime:RFC3339,double,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_field,_time,_value,city\n,,0,event_temp_mean,1970-01-05T01:00:00Z,17,Boston\n,,1,event_temp_mean,1970-01-03T01:00:00Z,20,Chicago\n,,2,event_temp_mean,1970-01-04T01:00:00Z,49,Los Angeles\n,,3,event_temp_mean,1970-01-02T01:00:00Z,22,New York\n\"\nt_table_fns_findcolumn_map = (table=<-) => table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")\n    |> map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")\n\n            return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}\n        },\n    )\n\ntest _table_fns_findcolumn_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findcolumn_map})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   8,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   8,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   8,
							},
							File:   "table_fns_findcolumn_map_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   8,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   8,
							},
							File:   "table_fns_findcolumn_map_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   8,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   8,
								},
								File:   "table_fns_findcolumn_map_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   8,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   8,
					},
					File:   "table_fns_findcolumn_map_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   60,
					},
					File:   "table_fns_findcolumn_map_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,0,times,events,2020-08-11T17:56:20Z,86400000000000,New York\n,,1,times,events,2020-08-11T17:56:20Z,172800000000000,Chicago\n,,2,times,events,2020-08-11T17:56:20Z,259200000000000,Los Angeles\n,,3,times,events,2020-08-11T17:56:20Z,345600000000000,Boston\n\n#datatype,string,long,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,4,temp,city_data,1970-01-02T00:00:10Z,20.0,New York\n,,4,temp,city_data,1970-01-02T00:00:20Z,21.0,New York\n,,4,temp,city_data,1970-01-02T00:00:30Z,22.0,New York\n,,4,temp,city_data,1970-01-02T00:00:40Z,23.0,New York\n,,4,temp,city_data,1970-01-02T00:00:50Z,24.0,New York\n\n,,5,temp,city_data,1970-01-03T00:00:10Z,18.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:20Z,19.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:30Z,20.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:40Z,21.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:50Z,22.0,Chicago\n\n,,6,temp,city_data,1970-01-04T00:00:10Z,47.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:20Z,48.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:30Z,49.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:40Z,50.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:50Z,51.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:00Z,52.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:10Z,53.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:20Z,54.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:30Z,55.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:40Z,56.0,Los Angeles\n\n,,7,temp,city_data,1970-01-05T00:00:10Z,15.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:20Z,16.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:30Z,17.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:40Z,18.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:50Z,19.0,Boston\n\n,,8,temp,city_data,1970-01-06T00:00:10Z,65.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:20Z,66.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:30Z,67.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:40Z,68.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:50Z,69.0,Austin\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   12,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: []ast.Comment{ast.Comment{Text: "// _value column in \"times\" field are timestamps, starting from\n"}, ast.Comment{Text: "// 1970-01-02, 1970-01-03, etc\n"}},
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   12,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   12,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   60,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,0,times,events,2020-08-11T17:56:20Z,86400000000000,New York\n,,1,times,events,2020-08-11T17:56:20Z,172800000000000,Chicago\n,,2,times,events,2020-08-11T17:56:20Z,259200000000000,Los Angeles\n,,3,times,events,2020-08-11T17:56:20Z,345600000000000,Boston\n\n#datatype,string,long,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,4,temp,city_data,1970-01-02T00:00:10Z,20.0,New York\n,,4,temp,city_data,1970-01-02T00:00:20Z,21.0,New York\n,,4,temp,city_data,1970-01-02T00:00:30Z,22.0,New York\n,,4,temp,city_data,1970-01-02T00:00:40Z,23.0,New York\n,,4,temp,city_data,1970-01-02T00:00:50Z,24.0,New York\n\n,,5,temp,city_data,1970-01-03T00:00:10Z,18.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:20Z,19.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:30Z,20.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:40Z,21.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:50Z,22.0,Chicago\n\n,,6,temp,city_data,1970-01-04T00:00:10Z,47.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:20Z,48.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:30Z,49.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:40Z,50.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:50Z,51.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:00Z,52.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:10Z,53.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:20Z,54.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:30Z,55.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:40Z,56.0,Los Angeles\n\n,,7,temp,city_data,1970-01-05T00:00:10Z,15.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:20Z,16.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:30Z,17.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:40Z,18.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:50Z,19.0,Boston\n\n,,8,temp,city_data,1970-01-06T00:00:10Z,65.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:20Z,66.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:30Z,67.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:40Z,68.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:50Z,69.0,Austin\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   12,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,0,times,events,2020-08-11T17:56:20Z,86400000000000,New York\n,,1,times,events,2020-08-11T17:56:20Z,172800000000000,Chicago\n,,2,times,events,2020-08-11T17:56:20Z,259200000000000,Los Angeles\n,,3,times,events,2020-08-11T17:56:20Z,345600000000000,Boston\n\n#datatype,string,long,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,4,temp,city_data,1970-01-02T00:00:10Z,20.0,New York\n,,4,temp,city_data,1970-01-02T00:00:20Z,21.0,New York\n,,4,temp,city_data,1970-01-02T00:00:30Z,22.0,New York\n,,4,temp,city_data,1970-01-02T00:00:40Z,23.0,New York\n,,4,temp,city_data,1970-01-02T00:00:50Z,24.0,New York\n\n,,5,temp,city_data,1970-01-03T00:00:10Z,18.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:20Z,19.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:30Z,20.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:40Z,21.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:50Z,22.0,Chicago\n\n,,6,temp,city_data,1970-01-04T00:00:10Z,47.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:20Z,48.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:30Z,49.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:40Z,50.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:50Z,51.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:00Z,52.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:10Z,53.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:20Z,54.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:30Z,55.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:40Z,56.0,Los Angeles\n\n,,7,temp,city_data,1970-01-05T00:00:10Z,15.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:20Z,16.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:30Z,17.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:40Z,18.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:50Z,19.0,Boston\n\n,,8,temp,city_data,1970-01-06T00:00:10Z,65.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:20Z,66.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:30Z,67.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:40Z,68.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:50Z,69.0,Austin\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   70,
					},
					File:   "table_fns_findcolumn_map_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,dateTime:RFC3339,double,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_field,_time,_value,city\n,,0,event_temp_mean,1970-01-05T01:00:00Z,17,Boston\n,,1,event_temp_mean,1970-01-03T01:00:00Z,20,Chicago\n,,2,event_temp_mean,1970-01-04T01:00:00Z,49,Los Angeles\n,,3,event_temp_mean,1970-01-02T01:00:00Z,22,New York\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   61,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   61,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   61,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   70,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "\"\n#datatype,string,long,string,dateTime:RFC3339,double,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_field,_time,_value,city\n,,0,event_temp_mean,1970-01-05T01:00:00Z,17,Boston\n,,1,event_temp_mean,1970-01-03T01:00:00Z,20,Chicago\n,,2,event_temp_mean,1970-01-04T01:00:00Z,49,Los Angeles\n,,3,event_temp_mean,1970-01-02T01:00:00Z,22,New York\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   61,
						},
					},
				},
				Value: "\n#datatype,string,long,string,dateTime:RFC3339,double,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_field,_time,_value,city\n,,0,event_temp_mean,1970-01-05T01:00:00Z,17,Boston\n,,1,event_temp_mean,1970-01-03T01:00:00Z,20,Chicago\n,,2,event_temp_mean,1970-01-04T01:00:00Z,49,Los Angeles\n,,3,event_temp_mean,1970-01-02T01:00:00Z,22,New York\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   87,
					},
					File:   "table_fns_findcolumn_map_test.flux",
					Source: "t_table_fns_findcolumn_map = (table=<-) => table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")\n    |> map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")\n\n            return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}\n        },\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   71,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 27,
							Line:   71,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "t_table_fns_findcolumn_map",
						Start: ast.Position{
							Column: 1,
							Line:   71,
						},
					},
				},
				Name: "t_table_fns_findcolumn_map",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   87,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")\n    |> map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")\n\n            return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}\n        },\n    )",
						Start: ast.Position{
							Column: 30,
							Line:   71,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   71,
										},
										File:   "table_fns_findcolumn_map_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 44,
											Line:   71,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   72,
									},
									File:   "table_fns_findcolumn_map_test.flux",
									Source: "table\n    |> range(start: 2020-08-10T00:00:00Z)",
									Start: ast.Position{
										Column: 44,
										Line:   71,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   72,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "start: 2020-08-10T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   72,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   72,
												},
												File:   "table_fns_findcolumn_map_test.flux",
												Source: "start: 2020-08-10T00:00:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   72,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   72,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   72,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   72,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "2020-08-10T00:00:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   72,
													},
												},
											},
											Value: parser.MustParseTime("2020-08-10T00:00:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   72,
										},
										File:   "table_fns_findcolumn_map_test.flux",
										Source: "range(start: 2020-08-10T00:00:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   72,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   72,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   72,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 77,
									Line:   73,
								},
								File:   "table_fns_findcolumn_map_test.flux",
								Source: "table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")",
								Start: ast.Position{
									Column: 44,
									Line:   71,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   73,
										},
										File:   "table_fns_findcolumn_map_test.flux",
										Source: "fn: (r) => r._measurement == \"events\" and r._field == \"times\"",
										Start: ast.Position{
											Column: 15,
											Line:   73,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   73,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "fn: (r) => r._measurement == \"events\" and r._field == \"times\"",
											Start: ast.Position{
												Column: 15,
												Line:   73,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   73,
												},
												File:   "table_fns_findcolumn_map_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   73,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 76,
													Line:   73,
												},
												File:   "table_fns_findcolumn_map_test.flux",
												Source: "(r) => r._measurement == \"events\" and r._field == \"times\"",
												Start: ast.Position{
													Column: 19,
													Line:   73,
												},
											},
										},
										Body: &ast.LogicalExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   73,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "r._measurement == \"events\" and r._field == \"times\"",
													Start: ast.Position{
														Column: 26,
														Line:   73,
													},
												},
											},
											Left: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   73,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "r._measurement == \"events\"",
														Start: ast.Position{
															Column: 26,
															Line:   73,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 40,
																Line:   73,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "r._measurement",
															Start: ast.Position{
																Column: 26,
																Line:   73,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 27,
																	Line:   73,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 26,
																	Line:   73,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   73,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "_measurement",
																Start: ast.Position{
																	Column: 28,
																	Line:   73,
																},
															},
														},
														Name: "_measurement",
													},
													Rbrack: nil,
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 52,
																Line:   73,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "\"events\"",
															Start: ast.Position{
																Column: 44,
																Line:   73,
															},
														},
													},
													Value: "events",
												},
											},
											Operator: 1,
											Right: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 76,
															Line:   73,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "r._field == \"times\"",
														Start: ast.Position{
															Column: 57,
															Line:   73,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 65,
																Line:   73,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "r._field",
															Start: ast.Position{
																Column: 57,
																Line:   73,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 58,
																	Line:   73,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 57,
																	Line:   73,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 65,
																	Line:   73,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "_field",
																Start: ast.Position{
																	Column: 59,
																	Line:   73,
																},
															},
														},
														Name: "_field",
													},
													Rbrack: nil,
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 76,
																Line:   73,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "\"times\"",
															Start: ast.Position{
																Column: 69,
																Line:   73,
															},
														},
													},
													Value: "times",
												},
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   73,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   73,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   73,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   73,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 77,
										Line:   73,
									},
									File:   "table_fns_findcolumn_map_test.flux",
									Source: "filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")",
									Start: ast.Position{
										Column: 8,
										Line:   73,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   73,
										},
										File:   "table_fns_findcolumn_map_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   73,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   87,
							},
							File:   "table_fns_findcolumn_map_test.flux",
							Source: "table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")\n    |> map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")\n\n            return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}\n        },\n    )",
							Start: ast.Position{
								Column: 44,
								Line:   71,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   86,
									},
									File:   "table_fns_findcolumn_map_test.flux",
									Source: "fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")\n\n            return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}\n        }",
									Start: ast.Position{
										Column: 9,
										Line:   75,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   86,
										},
										File:   "table_fns_findcolumn_map_test.flux",
										Source: "fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")\n\n            return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}\n        }",
										Start: ast.Position{
											Column: 9,
											Line:   75,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   75,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   75,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   86,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "(r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")\n\n            return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}\n        }",
											Start: ast.Position{
												Column: 13,
												Line:   75,
											},
										},
									},
									Body: &ast.Block{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 10,
													Line:   86,
												},
												File:   "table_fns_findcolumn_map_test.flux",
												Source: "{\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")\n\n            return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}\n        }",
												Start: ast.Position{
													Column: 20,
													Line:   75,
												},
											},
										},
										Body: []ast.Statement{&ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   76,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "start = time(v: r._value)",
													Start: ast.Position{
														Column: 13,
														Line:   76,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   76,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "start",
														Start: ast.Position{
															Column: 13,
															Line:   76,
														},
													},
												},
												Name: "start",
											},
											Init: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 37,
																Line:   76,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "v: r._value",
															Start: ast.Position{
																Column: 26,
																Line:   76,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 37,
																	Line:   76,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "v: r._value",
																Start: ast.Position{
																	Column: 26,
																	Line:   76,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 27,
																		Line:   76,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "v",
																	Start: ast.Position{
																		Column: 26,
																		Line:   76,
																	},
																},
															},
															Name: "v",
														},
														Separator: nil,
														Value: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 37,
																		Line:   76,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "r._value",
																	Start: ast.Position{
																		Column: 29,
																		Line:   76,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 30,
																			Line:   76,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 29,
																			Line:   76,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 37,
																			Line:   76,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "_value",
																		Start: ast.Position{
																			Column: 31,
																			Line:   76,
																		},
																	},
																},
																Name: "_value",
															},
															Rbrack: nil,
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 38,
															Line:   76,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "time(v: r._value)",
														Start: ast.Position{
															Column: 21,
															Line:   76,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   76,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "time",
															Start: ast.Position{
																Column: 21,
																Line:   76,
															},
														},
													},
													Name: "time",
												},
												Lparen: nil,
												Rparen: nil,
											},
										}, &ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   77,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "stop = experimental.addDuration(to: start, d: 1h)",
													Start: ast.Position{
														Column: 13,
														Line:   77,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   77,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "stop",
														Start: ast.Position{
															Column: 13,
															Line:   77,
														},
													},
												},
												Name: "stop",
											},
											Init: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 61,
																Line:   77,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "to: start, d: 1h",
															Start: ast.Position{
																Column: 45,
																Line:   77,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 54,
																	Line:   77,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "to: start",
																Start: ast.Position{
																	Column: 45,
																	Line:   77,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 47,
																		Line:   77,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "to",
																	Start: ast.Position{
																		Column: 45,
																		Line:   77,
																	},
																},
															},
															Name: "to",
														},
														Separator: nil,
														Value: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 54,
																		Line:   77,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 49,
																		Line:   77,
																	},
																},
															},
															Name: "start",
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 61,
																	Line:   77,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "d: 1h",
																Start: ast.Position{
																	Column: 56,
																	Line:   77,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 57,
																		Line:   77,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "d",
																	Start: ast.Position{
																		Column: 56,
																		Line:   77,
																	},
																},
															},
															Name: "d",
														},
														Separator: nil,
														Value: &ast.DurationLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 61,
																		Line:   77,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "1h",
																	Start: ast.Position{
																		Column: 59,
																		Line:   77,
																	},
																},
															},
															Values: []ast.Duration{ast.Duration{
																Magnitude: int64(1),
																Unit:      "h",
															}},
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   77,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "experimental.addDuration(to: start, d: 1h)",
														Start: ast.Position{
															Column: 20,
															Line:   77,
														},
													},
												},
												Callee: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 44,
																Line:   77,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "experimental.addDuration",
															Start: ast.Position{
																Column: 20,
																Line:   77,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 32,
																	Line:   77,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "experimental",
																Start: ast.Position{
																	Column: 20,
																	Line:   77,
																},
															},
														},
														Name: "experimental",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   77,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "addDuration",
																Start: ast.Position{
																	Column: 33,
																	Line:   77,
																},
															},
														},
														Name: "addDuration",
													},
													Rbrack: nil,
												},
												Lparen: nil,
												Rparen: nil,
											},
										}, &ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   78,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "city = r.city",
													Start: ast.Position{
														Column: 13,
														Line:   78,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   78,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "city",
														Start: ast.Position{
															Column: 13,
															Line:   78,
														},
													},
												},
												Name: "city",
											},
											Init: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 26,
															Line:   78,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "r.city",
														Start: ast.Position{
															Column: 20,
															Line:   78,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   78,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 20,
																Line:   78,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   78,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "city",
															Start: ast.Position{
																Column: 22,
																Line:   78,
															},
														},
													},
													Name: "city",
												},
												Rbrack: nil,
											},
										}, &ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   83,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")",
													Start: ast.Position{
														Column: 13,
														Line:   79,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 16,
															Line:   79,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "agg",
														Start: ast.Position{
															Column: 13,
															Line:   79,
														},
													},
												},
												Name: "agg",
											},
											Init: &ast.PipeExpression{
												Argument: &ast.PipeExpression{
													Argument: &ast.PipeExpression{
														Argument: &ast.PipeExpression{
															Argument: &ast.CallExpression{
																Arguments: []ast.Expression{&ast.ObjectExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 39,
																				Line:   79,
																			},
																			File:   "table_fns_findcolumn_map_test.flux",
																			Source: "csv: inData",
																			Start: ast.Position{
																				Column: 28,
																				Line:   79,
																			},
																		},
																	},
																	Lbrace: nil,
																	Properties: []*ast.Property{&ast.Property{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 39,
																					Line:   79,
																				},
																				File:   "table_fns_findcolumn_map_test.flux",
																				Source: "csv: inData",
																				Start: ast.Position{
																					Column: 28,
																					Line:   79,
																				},
																			},
																		},
																		Comma: nil,
																		Key: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 31,
																						Line:   79,
																					},
																					File:   "table_fns_findcolumn_map_test.flux",
																					Source: "csv",
																					Start: ast.Position{
																						Column: 28,
																						Line:   79,
																					},
																				},
																			},
																			Name: "csv",
																		},
																		Separator: nil,
																		Value: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 39,
																						Line:   79,
																					},
																					File:   "table_fns_findcolumn_map_test.flux",
																					Source: "inData",
																					Start: ast.Position{
																						Column: 33,
																						Line:   79,
																					},
																				},
																			},
																			Name: "inData",
																		},
																	}},
																	Rbrace: nil,
																	With:   nil,
																}},
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 40,
																			Line:   79,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "csv.from(csv: inData)",
																		Start: ast.Position{
																			Column: 19,
																			Line:   79,
																		},
																	},
																},
																Callee: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 27,
																				Line:   79,
																			},
																			File:   "table_fns_findcolumn_map_test.flux",
																			Source: "csv.from",
																			Start: ast.Position{
																				Column: 19,
																				Line:   79,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 22,
																					Line:   79,
																				},
																				File:   "table_fns_findcolumn_map_test.flux",
																				Source: "csv",
																				Start: ast.Position{
																					Column: 19,
																					Line:   79,
																				},
																			},
																		},
																		Name: "csv",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 27,
																					Line:   79,
																				},
																				File:   "table_fns_findcolumn_map_test.flux",
																				Source: "from",
																				Start: ast.Position{
																					Column: 23,
																					Line:   79,
																				},
																			},
																		},
																		Name: "from",
																	},
																	Rbrack: nil,
																},
																Lparen: nil,
																Rparen: nil,
															},
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 38,
																		Line:   80,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "csv.from(csv: inData)\n                |> range(start, stop)",
																	Start: ast.Position{
																		Column: 19,
																		Line:   79,
																	},
																},
															},
															Call: &ast.CallExpression{
																Arguments: []ast.Expression{&ast.ObjectExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 37,
																				Line:   80,
																			},
																			File:   "table_fns_findcolumn_map_test.flux",
																			Source: "start, stop",
																			Start: ast.Position{
																				Column: 26,
																				Line:   80,
																			},
																		},
																	},
																	Lbrace: nil,
																	Properties: []*ast.Property{&ast.Property{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 31,
																					Line:   80,
																				},
																				File:   "table_fns_findcolumn_map_test.flux",
																				Source: "start",
																				Start: ast.Position{
																					Column: 26,
																					Line:   80,
																				},
																			},
																		},
																		Comma: nil,
																		Key: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 31,
																						Line:   80,
																					},
																					File:   "table_fns_findcolumn_map_test.flux",
																					Source: "start",
																					Start: ast.Position{
																						Column: 26,
																						Line:   80,
																					},
																				},
																			},
																			Name: "start",
																		},
																		Separator: nil,
																		Value:     nil,
																	}, &ast.Property{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 37,
																					Line:   80,
																				},
																				File:   "table_fns_findcolumn_map_test.flux",
																				Source: "stop",
																				Start: ast.Position{
																					Column: 33,
																					Line:   80,
																				},
																			},
																		},
																		Comma: nil,
																		Key: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 37,
																						Line:   80,
																					},
																					File:   "table_fns_findcolumn_map_test.flux",
																					Source: "stop",
																					Start: ast.Position{
																						Column: 33,
																						Line:   80,
																					},
																				},
																			},
																			Name: "stop",
																		},
																		Separator: nil,
																		Value:     nil,
																	}},
																	Rbrace: nil,
																	With:   nil,
																}},
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 38,
																			Line:   80,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "range(start, stop)",
																		Start: ast.Position{
																			Column: 20,
																			Line:   80,
																		},
																	},
																},
																Callee: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 25,
																				Line:   80,
																			},
																			File:   "table_fns_findcolumn_map_test.flux",
																			Source: "range",
																			Start: ast.Position{
																				Column: 20,
																				Line:   80,
																			},
																		},
																	},
																	Name: "range",
																},
																Lparen: nil,
																Rparen: nil,
															},
														},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 110,
																	Line:   81,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)",
																Start: ast.Position{
																	Column: 19,
																	Line:   79,
																},
															},
														},
														Call: &ast.CallExpression{
															Arguments: []ast.Expression{&ast.ObjectExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 109,
																			Line:   81,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city",
																		Start: ast.Position{
																			Column: 27,
																			Line:   81,
																		},
																	},
																},
																Lbrace: nil,
																Properties: []*ast.Property{&ast.Property{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 109,
																				Line:   81,
																			},
																			File:   "table_fns_findcolumn_map_test.flux",
																			Source: "fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city",
																			Start: ast.Position{
																				Column: 27,
																				Line:   81,
																			},
																		},
																	},
																	Comma: nil,
																	Key: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 29,
																					Line:   81,
																				},
																				File:   "table_fns_findcolumn_map_test.flux",
																				Source: "fn",
																				Start: ast.Position{
																					Column: 27,
																					Line:   81,
																				},
																			},
																		},
																		Name: "fn",
																	},
																	Separator: nil,
																	Value: &ast.FunctionExpression{
																		Arrow: nil,
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 109,
																					Line:   81,
																				},
																				File:   "table_fns_findcolumn_map_test.flux",
																				Source: "(r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city",
																				Start: ast.Position{
																					Column: 31,
																					Line:   81,
																				},
																			},
																		},
																		Body: &ast.LogicalExpression{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 109,
																						Line:   81,
																					},
																					File:   "table_fns_findcolumn_map_test.flux",
																					Source: "r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city",
																					Start: ast.Position{
																						Column: 38,
																						Line:   81,
																					},
																				},
																			},
																			Left: &ast.LogicalExpression{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 90,
																							Line:   81,
																						},
																						File:   "table_fns_findcolumn_map_test.flux",
																						Source: "r._measurement == \"city_data\" and r._field == \"temp\"",
																						Start: ast.Position{
																							Column: 38,
																							Line:   81,
																						},
																					},
																				},
																				Left: &ast.BinaryExpression{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 67,
																								Line:   81,
																							},
																							File:   "table_fns_findcolumn_map_test.flux",
																							Source: "r._measurement == \"city_data\"",
																							Start: ast.Position{
																								Column: 38,
																								Line:   81,
																							},
																						},
																					},
																					Left: &ast.MemberExpression{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 52,
																									Line:   81,
																								},
																								File:   "table_fns_findcolumn_map_test.flux",
																								Source: "r._measurement",
																								Start: ast.Position{
																									Column: 38,
																									Line:   81,
																								},
																							},
																						},
																						Lbrack: nil,
																						Object: &ast.Identifier{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 39,
																										Line:   81,
																									},
																									File:   "table_fns_findcolumn_map_test.flux",
																									Source: "r",
																									Start: ast.Position{
																										Column: 38,
																										Line:   81,
																									},
																								},
																							},
																							Name: "r",
																						},
																						Property: &ast.Identifier{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 52,
																										Line:   81,
																									},
																									File:   "table_fns_findcolumn_map_test.flux",
																									Source: "_measurement",
																									Start: ast.Position{
																										Column: 40,
																										Line:   81,
																									},
																								},
																							},
																							Name: "_measurement",
																						},
																						Rbrack: nil,
																					},
																					Operator: 17,
																					Right: &ast.StringLiteral{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 67,
																									Line:   81,
																								},
																								File:   "table_fns_findcolumn_map_test.flux",
																								Source: "\"city_data\"",
																								Start: ast.Position{
																									Column: 56,
																									Line:   81,
																								},
																							},
																						},
																						Value: "city_data",
																					},
																				},
																				Operator: 1,
																				Right: &ast.BinaryExpression{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 90,
																								Line:   81,
																							},
																							File:   "table_fns_findcolumn_map_test.flux",
																							Source: "r._field == \"temp\"",
																							Start: ast.Position{
																								Column: 72,
																								Line:   81,
																							},
																						},
																					},
																					Left: &ast.MemberExpression{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 80,
																									Line:   81,
																								},
																								File:   "table_fns_findcolumn_map_test.flux",
																								Source: "r._field",
																								Start: ast.Position{
																									Column: 72,
																									Line:   81,
																								},
																							},
																						},
																						Lbrack: nil,
																						Object: &ast.Identifier{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 73,
																										Line:   81,
																									},
																									File:   "table_fns_findcolumn_map_test.flux",
																									Source: "r",
																									Start: ast.Position{
																										Column: 72,
																										Line:   81,
																									},
																								},
																							},
																							Name: "r",
																						},
																						Property: &ast.Identifier{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 80,
																										Line:   81,
																									},
																									File:   "table_fns_findcolumn_map_test.flux",
																									Source: "_field",
																									Start: ast.Position{
																										Column: 74,
																										Line:   81,
																									},
																								},
																							},
																							Name: "_field",
																						},
																						Rbrack: nil,
																					},
																					Operator: 17,
																					Right: &ast.StringLiteral{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 90,
																									Line:   81,
																								},
																								File:   "table_fns_findcolumn_map_test.flux",
																								Source: "\"temp\"",
																								Start: ast.Position{
																									Column: 84,
																									Line:   81,
																								},
																							},
																						},
																						Value: "temp",
																					},
																				},
																			},
																			Operator: 1,
																			Right: &ast.BinaryExpression{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 109,
																							Line:   81,
																						},
																						File:   "table_fns_findcolumn_map_test.flux",
																						Source: "r.city == city",
																						Start: ast.Position{
																							Column: 95,
																							Line:   81,
																						},
																					},
																				},
																				Left: &ast.MemberExpression{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 101,
																								Line:   81,
																							},
																							File:   "table_fns_findcolumn_map_test.flux",
																							Source: "r.city",
																							Start: ast.Position{
																								Column: 95,
																								Line:   81,
																							},
																						},
																					},
																					Lbrack: nil,
																					Object: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 96,
																									Line:   81,
																								},
																								File:   "table_fns_findcolumn_map_test.flux",
																								Source: "r",
																								Start: ast.Position{
																									Column: 95,
																									Line:   81,
																								},
																							},
																						},
																						Name: "r",
																					},
																					Property: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 101,
																									Line:   81,
																								},
																								File:   "table_fns_findcolumn_map_test.flux",
																								Source: "city",
																								Start: ast.Position{
																									Column: 97,
																									Line:   81,
																								},
																							},
																						},
																						Name: "city",
																					},
																					Rbrack: nil,
																				},
																				Operator: 17,
																				Right: &ast.Identifier{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 109,
																								Line:   81,
																							},
																							File:   "table_fns_findcolumn_map_test.flux",
																							Source: "city",
																							Start: ast.Position{
																								Column: 105,
																								Line:   81,
																							},
																						},
																					},
																					Name: "city",
																				},
																			},
																		},
																		Lparen: nil,
																		Params: []*ast.Property{&ast.Property{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 33,
																						Line:   81,
																					},
																					File:   "table_fns_findcolumn_map_test.flux",
																					Source: "r",
																					Start: ast.Position{
																						Column: 32,
																						Line:   81,
																					},
																				},
																			},
																			Comma: nil,
																			Key: &ast.Identifier{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 33,
																							Line:   81,
																						},
																						File:   "table_fns_findcolumn_map_test.flux",
																						Source: "r",
																						Start: ast.Position{
																							Column: 32,
																							Line:   81,
																						},
																					},
																				},
																				Name: "r",
																			},
																			Separator: nil,
																			Value:     nil,
																		}},
																		Rparan: nil,
																	},
																}},
																Rbrace: nil,
																With:   nil,
															}},
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 110,
																		Line:   81,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)",
																	Start: ast.Position{
																		Column: 20,
																		Line:   81,
																	},
																},
															},
															Callee: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 26,
																			Line:   81,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "filter",
																		Start: ast.Position{
																			Column: 20,
																			Line:   81,
																		},
																	},
																},
																Name: "filter",
															},
															Lparen: nil,
															Rparen: nil,
														},
													},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   82,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()",
															Start: ast.Position{
																Column: 19,
																Line:   79,
															},
														},
													},
													Call: &ast.CallExpression{
														Arguments: nil,
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 26,
																	Line:   82,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "mean()",
																Start: ast.Position{
																	Column: 20,
																	Line:   82,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 24,
																		Line:   82,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "mean",
																	Start: ast.Position{
																		Column: 20,
																		Line:   82,
																	},
																},
															},
															Name: "mean",
														},
														Lparen: nil,
														Rparen: nil,
													},
												},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   83,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")",
														Start: ast.Position{
															Column: 19,
															Line:   79,
														},
													},
												},
												Call: &ast.CallExpression{
													Arguments: []ast.Expression{&ast.ObjectExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 66,
																	Line:   83,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "fn: (key) => true, column: \"_value\"",
																Start: ast.Position{
																	Column: 31,
																	Line:   83,
																},
															},
														},
														Lbrace: nil,
														Properties: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 48,
																		Line:   83,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "fn: (key) => true",
																	Start: ast.Position{
																		Column: 31,
																		Line:   83,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 33,
																			Line:   83,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "fn",
																		Start: ast.Position{
																			Column: 31,
																			Line:   83,
																		},
																	},
																},
																Name: "fn",
															},
															Separator: nil,
															Value: &ast.FunctionExpression{
																Arrow: nil,
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 48,
																			Line:   83,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "(key) => true",
																		Start: ast.Position{
																			Column: 35,
																			Line:   83,
																		},
																	},
																},
																Body: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 48,
																				Line:   83,
																			},
																			File:   "table_fns_findcolumn_map_test.flux",
																			Source: "true",
																			Start: ast.Position{
																				Column: 44,
																				Line:   83,
																			},
																		},
																	},
																	Name: "true",
																},
																Lparen: nil,
																Params: []*ast.Property{&ast.Property{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 39,
																				Line:   83,
																			},
																			File:   "table_fns_findcolumn_map_test.flux",
																			Source: "key",
																			Start: ast.Position{
																				Column: 36,
																				Line:   83,
																			},
																		},
																	},
																	Comma: nil,
																	Key: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 39,
																					Line:   83,
																				},
																				File:   "table_fns_findcolumn_map_test.flux",
																				Source: "key",
																				Start: ast.Position{
																					Column: 36,
																					Line:   83,
																				},
																			},
																		},
																		Name: "key",
																	},
																	Separator: nil,
																	Value:     nil,
																}},
																Rparan: nil,
															},
														}, &ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 66,
																		Line:   83,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "column: \"_value\"",
																	Start: ast.Position{
																		Column: 50,
																		Line:   83,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 56,
																			Line:   83,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "column",
																		Start: ast.Position{
																			Column: 50,
																			Line:   83,
																		},
																	},
																},
																Name: "column",
															},
															Separator: nil,
															Value: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 66,
																			Line:   83,
																		},
																		File:   "table_fns_findcolumn_map_test.flux",
																		Source: "\"_value\"",
																		Start: ast.Position{
																			Column: 58,
																			Line:   83,
																		},
																	},
																},
																Value: "_value",
															},
														}},
														Rbrace: nil,
														With:   nil,
													}},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 67,
																Line:   83,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "findColumn(fn: (key) => true, column: \"_value\")",
															Start: ast.Position{
																Column: 20,
																Line:   83,
															},
														},
													},
													Callee: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 30,
																	Line:   83,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "findColumn",
																Start: ast.Position{
																	Column: 20,
																	Line:   83,
																},
															},
														},
														Name: "findColumn",
													},
													Lparen: nil,
													Rparen: nil,
												},
											},
										}, &ast.ReturnStatement{
											Argument: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 90,
															Line:   85,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "{city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}",
														Start: ast.Position{
															Column: 20,
															Line:   85,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 33,
																Line:   85,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "city: r.city",
															Start: ast.Position{
																Column: 21,
																Line:   85,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   85,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "city",
																Start: ast.Position{
																	Column: 21,
																	Line:   85,
																},
															},
														},
														Name: "city",
													},
													Separator: nil,
													Value: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   85,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "r.city",
																Start: ast.Position{
																	Column: 27,
																	Line:   85,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 28,
																		Line:   85,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 27,
																		Line:   85,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 33,
																		Line:   85,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "city",
																	Start: ast.Position{
																		Column: 29,
																		Line:   85,
																	},
																},
															},
															Name: "city",
														},
														Rbrack: nil,
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 46,
																Line:   85,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "_time: stop",
															Start: ast.Position{
																Column: 35,
																Line:   85,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   85,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "_time",
																Start: ast.Position{
																	Column: 35,
																	Line:   85,
																},
															},
														},
														Name: "_time",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 46,
																	Line:   85,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 42,
																	Line:   85,
																},
															},
														},
														Name: "stop",
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 62,
																Line:   85,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "_value: agg[0]",
															Start: ast.Position{
																Column: 48,
																Line:   85,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 54,
																	Line:   85,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 48,
																	Line:   85,
																},
															},
														},
														Name: "_value",
													},
													Separator: nil,
													Value: &ast.IndexExpression{
														Array: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 59,
																		Line:   85,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "agg",
																	Start: ast.Position{
																		Column: 56,
																		Line:   85,
																	},
																},
															},
															Name: "agg",
														},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 62,
																	Line:   85,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "agg[0]",
																Start: ast.Position{
																	Column: 56,
																	Line:   85,
																},
															},
														},
														Index: &ast.IntegerLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 61,
																		Line:   85,
																	},
																	File:   "table_fns_findcolumn_map_test.flux",
																	Source: "0",
																	Start: ast.Position{
																		Column: 60,
																		Line:   85,
																	},
																},
															},
															Value: int64(0),
														},
														Lbrack: nil,
														Rbrack: nil,
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 89,
																Line:   85,
															},
															File:   "table_fns_findcolumn_map_test.flux",
															Source: "_field: \"event_temp_mean\"",
															Start: ast.Position{
																Column: 64,
																Line:   85,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 70,
																	Line:   85,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "_field",
																Start: ast.Position{
																	Column: 64,
																	Line:   85,
																},
															},
														},
														Name: "_field",
													},
													Separator: nil,
													Value: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 89,
																	Line:   85,
																},
																File:   "table_fns_findcolumn_map_test.flux",
																Source: "\"event_temp_mean\"",
																Start: ast.Position{
																	Column: 72,
																	Line:   85,
																},
															},
														},
														Value: "event_temp_mean",
													},
												}},
												Rbrace: nil,
												With:   nil,
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   85,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}",
													Start: ast.Position{
														Column: 13,
														Line:   85,
													},
												},
											},
										}},
										Lbrace: nil,
										Rbrace: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   75,
												},
												File:   "table_fns_findcolumn_map_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 14,
													Line:   75,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   75,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 14,
														Line:   75,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   87,
								},
								File:   "table_fns_findcolumn_map_test.flux",
								Source: "map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findColumn(fn: (key) => true, column: \"_value\")\n\n            return {city: r.city, _time: stop, _value: agg[0], _field: \"event_temp_mean\"}\n        },\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   74,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   74,
									},
									File:   "table_fns_findcolumn_map_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   74,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   71,
							},
							File:   "table_fns_findcolumn_map_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 31,
								Line:   71,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 36,
									Line:   71,
								},
								File:   "table_fns_findcolumn_map_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 31,
									Line:   71,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   71,
							},
							File:   "table_fns_findcolumn_map_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 37,
								Line:   71,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 152,
							Line:   89,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "_table_fns_findcolumn_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findcolumn_map})",
						Start: ast.Position{
							Column: 6,
							Line:   89,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   89,
							},
							File:   "table_fns_findcolumn_map_test.flux",
							Source: "_table_fns_findcolumn_map",
							Start: ast.Position{
								Column: 6,
								Line:   89,
							},
						},
					},
					Name: "_table_fns_findcolumn_map",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 152,
								Line:   89,
							},
							File:   "table_fns_findcolumn_map_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findcolumn_map})",
							Start: ast.Position{
								Column: 34,
								Line:   89,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 152,
									Line:   89,
								},
								File:   "table_fns_findcolumn_map_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findcolumn_map})",
								Start: ast.Position{
									Column: 40,
									Line:   89,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 151,
										Line:   89,
									},
									File:   "table_fns_findcolumn_map_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findcolumn_map}",
									Start: ast.Position{
										Column: 41,
										Line:   89,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 81,
											Line:   89,
										},
										File:   "table_fns_findcolumn_map_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 42,
											Line:   89,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   89,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 42,
												Line:   89,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 80,
													Line:   89,
												},
												File:   "table_fns_findcolumn_map_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 69,
													Line:   89,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   89,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 69,
														Line:   89,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   89,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 69,
															Line:   89,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 80,
															Line:   89,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 74,
															Line:   89,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   89,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 49,
												Line:   89,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   89,
												},
												File:   "table_fns_findcolumn_map_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 49,
													Line:   89,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   89,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 49,
														Line:   89,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   89,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 57,
														Line:   89,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 118,
											Line:   89,
										},
										File:   "table_fns_findcolumn_map_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 83,
											Line:   89,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 87,
												Line:   89,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 83,
												Line:   89,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 117,
													Line:   89,
												},
												File:   "table_fns_findcolumn_map_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 105,
													Line:   89,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 117,
														Line:   89,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 105,
														Line:   89,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 108,
															Line:   89,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 105,
															Line:   89,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 117,
															Line:   89,
														},
														File:   "table_fns_findcolumn_map_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 110,
															Line:   89,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   89,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 89,
												Line:   89,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   89,
												},
												File:   "table_fns_findcolumn_map_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 89,
													Line:   89,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   89,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 89,
														Line:   89,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   89,
													},
													File:   "table_fns_findcolumn_map_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 97,
														Line:   89,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 150,
											Line:   89,
										},
										File:   "table_fns_findcolumn_map_test.flux",
										Source: "fn: t_table_fns_findcolumn_map",
										Start: ast.Position{
											Column: 120,
											Line:   89,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   89,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 120,
												Line:   89,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 150,
												Line:   89,
											},
											File:   "table_fns_findcolumn_map_test.flux",
											Source: "t_table_fns_findcolumn_map",
											Start: ast.Position{
												Column: 124,
												Line:   89,
											},
										},
									},
									Name: "t_table_fns_findcolumn_map",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 152,
						Line:   89,
					},
					File:   "table_fns_findcolumn_map_test.flux",
					Source: "test _table_fns_findcolumn_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findcolumn_map})",
					Start: ast.Position{
						Column: 1,
						Line:   89,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "table_fns_findcolumn_map_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   5,
					},
					File:   "table_fns_findcolumn_map_test.flux",
					Source: "import \"csv\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   5,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "\"csv\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "csv",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   6,
					},
					File:   "table_fns_findcolumn_map_test.flux",
					Source: "import \"experimental\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   6,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "\"experimental\"",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				Value: "experimental",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "table_fns_findcolumn_map_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "table_fns_findcolumn_map_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "table_fns_findcolumn_map_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 152,
					Line:   89,
				},
				File:   "table_fns_findrecord_map_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\nimport \"csv\"\nimport \"experimental\"\n\noption now = () => 2030-01-01T00:00:00Z\n\n// _value column in \"times\" field are timestamps, starting from\n// 1970-01-02, 1970-01-03, etc\ninData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,0,times,events,2020-08-11T17:56:20Z,86400000000000,New York\n,,1,times,events,2020-08-11T17:56:20Z,172800000000000,Chicago\n,,2,times,events,2020-08-11T17:56:20Z,259200000000000,Los Angeles\n,,3,times,events,2020-08-11T17:56:20Z,345600000000000,Boston\n\n#datatype,string,long,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,4,temp,city_data,1970-01-02T00:00:10Z,20.0,New York\n,,4,temp,city_data,1970-01-02T00:00:20Z,21.0,New York\n,,4,temp,city_data,1970-01-02T00:00:30Z,22.0,New York\n,,4,temp,city_data,1970-01-02T00:00:40Z,23.0,New York\n,,4,temp,city_data,1970-01-02T00:00:50Z,24.0,New York\n\n,,5,temp,city_data,1970-01-03T00:00:10Z,18.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:20Z,19.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:30Z,20.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:40Z,21.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:50Z,22.0,Chicago\n\n,,6,temp,city_data,1970-01-04T00:00:10Z,47.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:20Z,48.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:30Z,49.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:40Z,50.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:50Z,51.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:00Z,52.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:10Z,53.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:20Z,54.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:30Z,55.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:40Z,56.0,Los Angeles\n\n,,7,temp,city_data,1970-01-05T00:00:10Z,15.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:20Z,16.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:30Z,17.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:40Z,18.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:50Z,19.0,Boston\n\n,,8,temp,city_data,1970-01-06T00:00:10Z,65.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:20Z,66.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:30Z,67.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:40Z,68.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:50Z,69.0,Austin\n\"\noutData = \"\n#datatype,string,long,string,dateTime:RFC3339,double,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_field,_time,_value,city\n,,0,event_temp_mean,1970-01-05T01:00:00Z,17,Boston\n,,1,event_temp_mean,1970-01-03T01:00:00Z,20,Chicago\n,,2,event_temp_mean,1970-01-04T01:00:00Z,49,Los Angeles\n,,3,event_temp_mean,1970-01-02T01:00:00Z,22,New York\n\"\nt_table_fns_findrecord_map = (table=<-) => table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")\n    |> map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)\n\n            return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}\n        },\n    )\n\ntest _table_fns_findrecord_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findrecord_map})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   8,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   8,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   8,
							},
							File:   "table_fns_findrecord_map_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   8,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   8,
							},
							File:   "table_fns_findrecord_map_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   8,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   8,
								},
								File:   "table_fns_findrecord_map_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   8,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   8,
					},
					File:   "table_fns_findrecord_map_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   60,
					},
					File:   "table_fns_findrecord_map_test.flux",
					Source: "inData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,0,times,events,2020-08-11T17:56:20Z,86400000000000,New York\n,,1,times,events,2020-08-11T17:56:20Z,172800000000000,Chicago\n,,2,times,events,2020-08-11T17:56:20Z,259200000000000,Los Angeles\n,,3,times,events,2020-08-11T17:56:20Z,345600000000000,Boston\n\n#datatype,string,long,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,4,temp,city_data,1970-01-02T00:00:10Z,20.0,New York\n,,4,temp,city_data,1970-01-02T00:00:20Z,21.0,New York\n,,4,temp,city_data,1970-01-02T00:00:30Z,22.0,New York\n,,4,temp,city_data,1970-01-02T00:00:40Z,23.0,New York\n,,4,temp,city_data,1970-01-02T00:00:50Z,24.0,New York\n\n,,5,temp,city_data,1970-01-03T00:00:10Z,18.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:20Z,19.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:30Z,20.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:40Z,21.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:50Z,22.0,Chicago\n\n,,6,temp,city_data,1970-01-04T00:00:10Z,47.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:20Z,48.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:30Z,49.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:40Z,50.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:50Z,51.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:00Z,52.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:10Z,53.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:20Z,54.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:30Z,55.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:40Z,56.0,Los Angeles\n\n,,7,temp,city_data,1970-01-05T00:00:10Z,15.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:20Z,16.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:30Z,17.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:40Z,18.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:50Z,19.0,Boston\n\n,,8,temp,city_data,1970-01-06T00:00:10Z,65.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:20Z,66.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:30Z,67.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:40Z,68.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:50Z,69.0,Austin\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   12,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: []ast.Comment{ast.Comment{Text: "// _value column in \"times\" field are timestamps, starting from\n"}, ast.Comment{Text: "// 1970-01-02, 1970-01-03, etc\n"}},
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   12,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   12,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   60,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,0,times,events,2020-08-11T17:56:20Z,86400000000000,New York\n,,1,times,events,2020-08-11T17:56:20Z,172800000000000,Chicago\n,,2,times,events,2020-08-11T17:56:20Z,259200000000000,Los Angeles\n,,3,times,events,2020-08-11T17:56:20Z,345600000000000,Boston\n\n#datatype,string,long,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,4,temp,city_data,1970-01-02T00:00:10Z,20.0,New York\n,,4,temp,city_data,1970-01-02T00:00:20Z,21.0,New York\n,,4,temp,city_data,1970-01-02T00:00:30Z,22.0,New York\n,,4,temp,city_data,1970-01-02T00:00:40Z,23.0,New York\n,,4,temp,city_data,1970-01-02T00:00:50Z,24.0,New York\n\n,,5,temp,city_data,1970-01-03T00:00:10Z,18.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:20Z,19.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:30Z,20.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:40Z,21.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:50Z,22.0,Chicago\n\n,,6,temp,city_data,1970-01-04T00:00:10Z,47.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:20Z,48.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:30Z,49.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:40Z,50.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:50Z,51.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:00Z,52.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:10Z,53.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:20Z,54.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:30Z,55.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:40Z,56.0,Los Angeles\n\n,,7,temp,city_data,1970-01-05T00:00:10Z,15.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:20Z,16.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:30Z,17.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:40Z,18.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:50Z,19.0,Boston\n\n,,8,temp,city_data,1970-01-06T00:00:10Z,65.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:20Z,66.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:30Z,67.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:40Z,68.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:50Z,69.0,Austin\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   12,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,long,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,0,times,events,2020-08-11T17:56:20Z,86400000000000,New York\n,,1,times,events,2020-08-11T17:56:20Z,172800000000000,Chicago\n,,2,times,events,2020-08-11T17:56:20Z,259200000000000,Los Angeles\n,,3,times,events,2020-08-11T17:56:20Z,345600000000000,Boston\n\n#datatype,string,long,string,string,dateTime:RFC3339,double,string\n#group,false,false,true,true,false,false,true\n#default,_result,,,,,,\n,result,table,_field,_measurement,_time,_value,city\n,,4,temp,city_data,1970-01-02T00:00:10Z,20.0,New York\n,,4,temp,city_data,1970-01-02T00:00:20Z,21.0,New York\n,,4,temp,city_data,1970-01-02T00:00:30Z,22.0,New York\n,,4,temp,city_data,1970-01-02T00:00:40Z,23.0,New York\n,,4,temp,city_data,1970-01-02T00:00:50Z,24.0,New York\n\n,,5,temp,city_data,1970-01-03T00:00:10Z,18.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:20Z,19.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:30Z,20.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:40Z,21.0,Chicago\n,,5,temp,city_data,1970-01-03T00:00:50Z,22.0,Chicago\n\n,,6,temp,city_data,1970-01-04T00:00:10Z,47.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:20Z,48.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:30Z,49.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:40Z,50.0,Los Angeles\n,,6,temp,city_data,1970-01-04T00:00:50Z,51.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:00Z,52.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:10Z,53.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:20Z,54.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:30Z,55.0,Los Angeles\n,,6,temp,city_data,1970-01-04T01:01:40Z,56.0,Los Angeles\n\n,,7,temp,city_data,1970-01-05T00:00:10Z,15.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:20Z,16.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:30Z,17.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:40Z,18.0,Boston\n,,7,temp,city_data,1970-01-05T00:00:50Z,19.0,Boston\n\n,,8,temp,city_data,1970-01-06T00:00:10Z,65.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:20Z,66.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:30Z,67.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:40Z,68.0,Austin\n,,8,temp,city_data,1970-01-06T00:00:50Z,69.0,Austin\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   70,
					},
					File:   "table_fns_findrecord_map_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,dateTime:RFC3339,double,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_field,_time,_value,city\n,,0,event_temp_mean,1970-01-05T01:00:00Z,17,Boston\n,,1,event_temp_mean,1970-01-03T01:00:00Z,20,Chicago\n,,2,event_temp_mean,1970-01-04T01:00:00Z,49,Los Angeles\n,,3,event_temp_mean,1970-01-02T01:00:00Z,22,New York\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   61,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   61,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   61,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   70,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "\"\n#datatype,string,long,string,dateTime:RFC3339,double,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_field,_time,_value,city\n,,0,event_temp_mean,1970-01-05T01:00:00Z,17,Boston\n,,1,event_temp_mean,1970-01-03T01:00:00Z,20,Chicago\n,,2,event_temp_mean,1970-01-04T01:00:00Z,49,Los Angeles\n,,3,event_temp_mean,1970-01-02T01:00:00Z,22,New York\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   61,
						},
					},
				},
				Value: "\n#datatype,string,long,string,dateTime:RFC3339,double,string\n#group,false,false,true,false,false,true\n#default,_result,,,,,\n,result,table,_field,_time,_value,city\n,,0,event_temp_mean,1970-01-05T01:00:00Z,17,Boston\n,,1,event_temp_mean,1970-01-03T01:00:00Z,20,Chicago\n,,2,event_temp_mean,1970-01-04T01:00:00Z,49,Los Angeles\n,,3,event_temp_mean,1970-01-02T01:00:00Z,22,New York\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 6,
						Line:   87,
					},
					File:   "table_fns_findrecord_map_test.flux",
					Source: "t_table_fns_findrecord_map = (table=<-) => table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")\n    |> map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)\n\n            return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}\n        },\n    )",
					Start: ast.Position{
						Column: 1,
						Line:   71,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 27,
							Line:   71,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "t_table_fns_findrecord_map",
						Start: ast.Position{
							Column: 1,
							Line:   71,
						},
					},
				},
				Name: "t_table_fns_findrecord_map",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   87,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")\n    |> map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)\n\n            return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}\n        },\n    )",
						Start: ast.Position{
							Column: 30,
							Line:   71,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 49,
											Line:   71,
										},
										File:   "table_fns_findrecord_map_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 44,
											Line:   71,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   72,
									},
									File:   "table_fns_findrecord_map_test.flux",
									Source: "table\n    |> range(start: 2020-08-10T00:00:00Z)",
									Start: ast.Position{
										Column: 44,
										Line:   71,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   72,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "start: 2020-08-10T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   72,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   72,
												},
												File:   "table_fns_findrecord_map_test.flux",
												Source: "start: 2020-08-10T00:00:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   72,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   72,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   72,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   72,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "2020-08-10T00:00:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   72,
													},
												},
											},
											Value: parser.MustParseTime("2020-08-10T00:00:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   72,
										},
										File:   "table_fns_findrecord_map_test.flux",
										Source: "range(start: 2020-08-10T00:00:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   72,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   72,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   72,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 77,
									Line:   73,
								},
								File:   "table_fns_findrecord_map_test.flux",
								Source: "table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")",
								Start: ast.Position{
									Column: 44,
									Line:   71,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   73,
										},
										File:   "table_fns_findrecord_map_test.flux",
										Source: "fn: (r) => r._measurement == \"events\" and r._field == \"times\"",
										Start: ast.Position{
											Column: 15,
											Line:   73,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   73,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "fn: (r) => r._measurement == \"events\" and r._field == \"times\"",
											Start: ast.Position{
												Column: 15,
												Line:   73,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   73,
												},
												File:   "table_fns_findrecord_map_test.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   73,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 76,
													Line:   73,
												},
												File:   "table_fns_findrecord_map_test.flux",
												Source: "(r) => r._measurement == \"events\" and r._field == \"times\"",
												Start: ast.Position{
													Column: 19,
													Line:   73,
												},
											},
										},
										Body: &ast.LogicalExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   73,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "r._measurement == \"events\" and r._field == \"times\"",
													Start: ast.Position{
														Column: 26,
														Line:   73,
													},
												},
											},
											Left: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   73,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "r._measurement == \"events\"",
														Start: ast.Position{
															Column: 26,
															Line:   73,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 40,
																Line:   73,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "r._measurement",
															Start: ast.Position{
																Column: 26,
																Line:   73,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 27,
																	Line:   73,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 26,
																	Line:   73,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   73,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "_measurement",
																Start: ast.Position{
																	Column: 28,
																	Line:   73,
																},
															},
														},
														Name: "_measurement",
													},
													Rbrack: nil,
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 52,
																Line:   73,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "\"events\"",
															Start: ast.Position{
																Column: 44,
																Line:   73,
															},
														},
													},
													Value: "events",
												},
											},
											Operator: 1,
											Right: &ast.BinaryExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 76,
															Line:   73,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "r._field == \"times\"",
														Start: ast.Position{
															Column: 57,
															Line:   73,
														},
													},
												},
												Left: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 65,
																Line:   73,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "r._field",
															Start: ast.Position{
																Column: 57,
																Line:   73,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 58,
																	Line:   73,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 57,
																	Line:   73,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 65,
																	Line:   73,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "_field",
																Start: ast.Position{
																	Column: 59,
																	Line:   73,
																},
															},
														},
														Name: "_field",
													},
													Rbrack: nil,
												},
												Operator: 17,
												Right: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 76,
																Line:   73,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "\"times\"",
															Start: ast.Position{
																Column: 69,
																Line:   73,
															},
														},
													},
													Value: "times",
												},
											},
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   73,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   73,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   73,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 20,
															Line:   73,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 77,
										Line:   73,
									},
									File:   "table_fns_findrecord_map_test.flux",
									Source: "filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")",
									Start: ast.Position{
										Column: 8,
										Line:   73,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   73,
										},
										File:   "table_fns_findrecord_map_test.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   73,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 6,
								Line:   87,
							},
							File:   "table_fns_findrecord_map_test.flux",
							Source: "table\n    |> range(start: 2020-08-10T00:00:00Z)\n    |> filter(fn: (r) => r._measurement == \"events\" and r._field == \"times\")\n    |> map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)\n\n            return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}\n        },\n    )",
							Start: ast.Position{
								Column: 44,
								Line:   71,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   86,
									},
									File:   "table_fns_findrecord_map_test.flux",
									Source: "fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)\n\n            return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}\n        }",
									Start: ast.Position{
										Column: 9,
										Line:   75,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   86,
										},
										File:   "table_fns_findrecord_map_test.flux",
										Source: "fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)\n\n            return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}\n        }",
										Start: ast.Position{
											Column: 9,
											Line:   75,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 11,
												Line:   75,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 9,
												Line:   75,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   86,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "(r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)\n\n            return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}\n        }",
											Start: ast.Position{
												Column: 13,
												Line:   75,
											},
										},
									},
									Body: &ast.Block{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 10,
													Line:   86,
												},
												File:   "table_fns_findrecord_map_test.flux",
												Source: "{\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)\n\n            return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}\n        }",
												Start: ast.Position{
													Column: 20,
													Line:   75,
												},
											},
										},
										Body: []ast.Statement{&ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   76,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "start = time(v: r._value)",
													Start: ast.Position{
														Column: 13,
														Line:   76,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   76,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "start",
														Start: ast.Position{
															Column: 13,
															Line:   76,
														},
													},
												},
												Name: "start",
											},
											Init: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 37,
																Line:   76,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "v: r._value",
															Start: ast.Position{
																Column: 26,
																Line:   76,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 37,
																	Line:   76,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "v: r._value",
																Start: ast.Position{
																	Column: 26,
																	Line:   76,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 27,
																		Line:   76,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "v",
																	Start: ast.Position{
																		Column: 26,
																		Line:   76,
																	},
																},
															},
															Name: "v",
														},
														Separator: nil,
														Value: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 37,
																		Line:   76,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "r._value",
																	Start: ast.Position{
																		Column: 29,
																		Line:   76,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 30,
																			Line:   76,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 29,
																			Line:   76,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 37,
																			Line:   76,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "_value",
																		Start: ast.Position{
																			Column: 31,
																			Line:   76,
																		},
																	},
																},
																Name: "_value",
															},
															Rbrack: nil,
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 38,
															Line:   76,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "time(v: r._value)",
														Start: ast.Position{
															Column: 21,
															Line:   76,
														},
													},
												},
												Callee: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   76,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "time",
															Start: ast.Position{
																Column: 21,
																Line:   76,
															},
														},
													},
													Name: "time",
												},
												Lparen: nil,
												Rparen: nil,
											},
										}, &ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   77,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "stop = experimental.addDuration(to: start, d: 1h)",
													Start: ast.Position{
														Column: 13,
														Line:   77,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   77,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "stop",
														Start: ast.Position{
															Column: 13,
															Line:   77,
														},
													},
												},
												Name: "stop",
											},
											Init: &ast.CallExpression{
												Arguments: []ast.Expression{&ast.ObjectExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 61,
																Line:   77,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "to: start, d: 1h",
															Start: ast.Position{
																Column: 45,
																Line:   77,
															},
														},
													},
													Lbrace: nil,
													Properties: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 54,
																	Line:   77,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "to: start",
																Start: ast.Position{
																	Column: 45,
																	Line:   77,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 47,
																		Line:   77,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "to",
																	Start: ast.Position{
																		Column: 45,
																		Line:   77,
																	},
																},
															},
															Name: "to",
														},
														Separator: nil,
														Value: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 54,
																		Line:   77,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "start",
																	Start: ast.Position{
																		Column: 49,
																		Line:   77,
																	},
																},
															},
															Name: "start",
														},
													}, &ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 61,
																	Line:   77,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "d: 1h",
																Start: ast.Position{
																	Column: 56,
																	Line:   77,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 57,
																		Line:   77,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "d",
																	Start: ast.Position{
																		Column: 56,
																		Line:   77,
																	},
																},
															},
															Name: "d",
														},
														Separator: nil,
														Value: &ast.DurationLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 61,
																		Line:   77,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "1h",
																	Start: ast.Position{
																		Column: 59,
																		Line:   77,
																	},
																},
															},
															Values: []ast.Duration{ast.Duration{
																Magnitude: int64(1),
																Unit:      "h",
															}},
														},
													}},
													Rbrace: nil,
													With:   nil,
												}},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   77,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "experimental.addDuration(to: start, d: 1h)",
														Start: ast.Position{
															Column: 20,
															Line:   77,
														},
													},
												},
												Callee: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 44,
																Line:   77,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "experimental.addDuration",
															Start: ast.Position{
																Column: 20,
																Line:   77,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 32,
																	Line:   77,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "experimental",
																Start: ast.Position{
																	Column: 20,
																	Line:   77,
																},
															},
														},
														Name: "experimental",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   77,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "addDuration",
																Start: ast.Position{
																	Column: 33,
																	Line:   77,
																},
															},
														},
														Name: "addDuration",
													},
													Rbrack: nil,
												},
												Lparen: nil,
												Rparen: nil,
											},
										}, &ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   78,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "city = r.city",
													Start: ast.Position{
														Column: 13,
														Line:   78,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   78,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "city",
														Start: ast.Position{
															Column: 13,
															Line:   78,
														},
													},
												},
												Name: "city",
											},
											Init: &ast.MemberExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 26,
															Line:   78,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "r.city",
														Start: ast.Position{
															Column: 20,
															Line:   78,
														},
													},
												},
												Lbrack: nil,
												Object: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   78,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 20,
																Line:   78,
															},
														},
													},
													Name: "r",
												},
												Property: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   78,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "city",
															Start: ast.Position{
																Column: 22,
																Line:   78,
															},
														},
													},
													Name: "city",
												},
												Rbrack: nil,
											},
										}, &ast.VariableAssignment{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   83,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)",
													Start: ast.Position{
														Column: 13,
														Line:   79,
													},
												},
											},
											ID: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 16,
															Line:   79,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "agg",
														Start: ast.Position{
															Column: 13,
															Line:   79,
														},
													},
												},
												Name: "agg",
											},
											Init: &ast.PipeExpression{
												Argument: &ast.PipeExpression{
													Argument: &ast.PipeExpression{
														Argument: &ast.PipeExpression{
															Argument: &ast.CallExpression{
																Arguments: []ast.Expression{&ast.ObjectExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 39,
																				Line:   79,
																			},
																			File:   "table_fns_findrecord_map_test.flux",
																			Source: "csv: inData",
																			Start: ast.Position{
																				Column: 28,
																				Line:   79,
																			},
																		},
																	},
																	Lbrace: nil,
																	Properties: []*ast.Property{&ast.Property{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 39,
																					Line:   79,
																				},
																				File:   "table_fns_findrecord_map_test.flux",
																				Source: "csv: inData",
																				Start: ast.Position{
																					Column: 28,
																					Line:   79,
																				},
																			},
																		},
																		Comma: nil,
																		Key: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 31,
																						Line:   79,
																					},
																					File:   "table_fns_findrecord_map_test.flux",
																					Source: "csv",
																					Start: ast.Position{
																						Column: 28,
																						Line:   79,
																					},
																				},
																			},
																			Name: "csv",
																		},
																		Separator: nil,
																		Value: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 39,
																						Line:   79,
																					},
																					File:   "table_fns_findrecord_map_test.flux",
																					Source: "inData",
																					Start: ast.Position{
																						Column: 33,
																						Line:   79,
																					},
																				},
																			},
																			Name: "inData",
																		},
																	}},
																	Rbrace: nil,
																	With:   nil,
																}},
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 40,
																			Line:   79,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "csv.from(csv: inData)",
																		Start: ast.Position{
																			Column: 19,
																			Line:   79,
																		},
																	},
																},
																Callee: &ast.MemberExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 27,
																				Line:   79,
																			},
																			File:   "table_fns_findrecord_map_test.flux",
																			Source: "csv.from",
																			Start: ast.Position{
																				Column: 19,
																				Line:   79,
																			},
																		},
																	},
																	Lbrack: nil,
																	Object: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 22,
																					Line:   79,
																				},
																				File:   "table_fns_findrecord_map_test.flux",
																				Source: "csv",
																				Start: ast.Position{
																					Column: 19,
																					Line:   79,
																				},
																			},
																		},
																		Name: "csv",
																	},
																	Property: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 27,
																					Line:   79,
																				},
																				File:   "table_fns_findrecord_map_test.flux",
																				Source: "from",
																				Start: ast.Position{
																					Column: 23,
																					Line:   79,
																				},
																			},
																		},
																		Name: "from",
																	},
																	Rbrack: nil,
																},
																Lparen: nil,
																Rparen: nil,
															},
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 38,
																		Line:   80,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "csv.from(csv: inData)\n                |> range(start, stop)",
																	Start: ast.Position{
																		Column: 19,
																		Line:   79,
																	},
																},
															},
															Call: &ast.CallExpression{
																Arguments: []ast.Expression{&ast.ObjectExpression{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 37,
																				Line:   80,
																			},
																			File:   "table_fns_findrecord_map_test.flux",
																			Source: "start, stop",
																			Start: ast.Position{
																				Column: 26,
																				Line:   80,
																			},
																		},
																	},
																	Lbrace: nil,
																	Properties: []*ast.Property{&ast.Property{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 31,
																					Line:   80,
																				},
																				File:   "table_fns_findrecord_map_test.flux",
																				Source: "start",
																				Start: ast.Position{
																					Column: 26,
																					Line:   80,
																				},
																			},
																		},
																		Comma: nil,
																		Key: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 31,
																						Line:   80,
																					},
																					File:   "table_fns_findrecord_map_test.flux",
																					Source: "start",
																					Start: ast.Position{
																						Column: 26,
																						Line:   80,
																					},
																				},
																			},
																			Name: "start",
																		},
																		Separator: nil,
																		Value:     nil,
																	}, &ast.Property{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 37,
																					Line:   80,
																				},
																				File:   "table_fns_findrecord_map_test.flux",
																				Source: "stop",
																				Start: ast.Position{
																					Column: 33,
																					Line:   80,
																				},
																			},
																		},
																		Comma: nil,
																		Key: &ast.Identifier{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 37,
																						Line:   80,
																					},
																					File:   "table_fns_findrecord_map_test.flux",
																					Source: "stop",
																					Start: ast.Position{
																						Column: 33,
																						Line:   80,
																					},
																				},
																			},
																			Name: "stop",
																		},
																		Separator: nil,
																		Value:     nil,
																	}},
																	Rbrace: nil,
																	With:   nil,
																}},
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 38,
																			Line:   80,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "range(start, stop)",
																		Start: ast.Position{
																			Column: 20,
																			Line:   80,
																		},
																	},
																},
																Callee: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 25,
																				Line:   80,
																			},
																			File:   "table_fns_findrecord_map_test.flux",
																			Source: "range",
																			Start: ast.Position{
																				Column: 20,
																				Line:   80,
																			},
																		},
																	},
																	Name: "range",
																},
																Lparen: nil,
																Rparen: nil,
															},
														},
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 110,
																	Line:   81,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)",
																Start: ast.Position{
																	Column: 19,
																	Line:   79,
																},
															},
														},
														Call: &ast.CallExpression{
															Arguments: []ast.Expression{&ast.ObjectExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 109,
																			Line:   81,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city",
																		Start: ast.Position{
																			Column: 27,
																			Line:   81,
																		},
																	},
																},
																Lbrace: nil,
																Properties: []*ast.Property{&ast.Property{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 109,
																				Line:   81,
																			},
																			File:   "table_fns_findrecord_map_test.flux",
																			Source: "fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city",
																			Start: ast.Position{
																				Column: 27,
																				Line:   81,
																			},
																		},
																	},
																	Comma: nil,
																	Key: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 29,
																					Line:   81,
																				},
																				File:   "table_fns_findrecord_map_test.flux",
																				Source: "fn",
																				Start: ast.Position{
																					Column: 27,
																					Line:   81,
																				},
																			},
																		},
																		Name: "fn",
																	},
																	Separator: nil,
																	Value: &ast.FunctionExpression{
																		Arrow: nil,
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 109,
																					Line:   81,
																				},
																				File:   "table_fns_findrecord_map_test.flux",
																				Source: "(r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city",
																				Start: ast.Position{
																					Column: 31,
																					Line:   81,
																				},
																			},
																		},
																		Body: &ast.LogicalExpression{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 109,
																						Line:   81,
																					},
																					File:   "table_fns_findrecord_map_test.flux",
																					Source: "r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city",
																					Start: ast.Position{
																						Column: 38,
																						Line:   81,
																					},
																				},
																			},
																			Left: &ast.LogicalExpression{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 90,
																							Line:   81,
																						},
																						File:   "table_fns_findrecord_map_test.flux",
																						Source: "r._measurement == \"city_data\" and r._field == \"temp\"",
																						Start: ast.Position{
																							Column: 38,
																							Line:   81,
																						},
																					},
																				},
																				Left: &ast.BinaryExpression{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 67,
																								Line:   81,
																							},
																							File:   "table_fns_findrecord_map_test.flux",
																							Source: "r._measurement == \"city_data\"",
																							Start: ast.Position{
																								Column: 38,
																								Line:   81,
																							},
																						},
																					},
																					Left: &ast.MemberExpression{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 52,
																									Line:   81,
																								},
																								File:   "table_fns_findrecord_map_test.flux",
																								Source: "r._measurement",
																								Start: ast.Position{
																									Column: 38,
																									Line:   81,
																								},
																							},
																						},
																						Lbrack: nil,
																						Object: &ast.Identifier{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 39,
																										Line:   81,
																									},
																									File:   "table_fns_findrecord_map_test.flux",
																									Source: "r",
																									Start: ast.Position{
																										Column: 38,
																										Line:   81,
																									},
																								},
																							},
																							Name: "r",
																						},
																						Property: &ast.Identifier{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 52,
																										Line:   81,
																									},
																									File:   "table_fns_findrecord_map_test.flux",
																									Source: "_measurement",
																									Start: ast.Position{
																										Column: 40,
																										Line:   81,
																									},
																								},
																							},
																							Name: "_measurement",
																						},
																						Rbrack: nil,
																					},
																					Operator: 17,
																					Right: &ast.StringLiteral{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 67,
																									Line:   81,
																								},
																								File:   "table_fns_findrecord_map_test.flux",
																								Source: "\"city_data\"",
																								Start: ast.Position{
																									Column: 56,
																									Line:   81,
																								},
																							},
																						},
																						Value: "city_data",
																					},
																				},
																				Operator: 1,
																				Right: &ast.BinaryExpression{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 90,
																								Line:   81,
																							},
																							File:   "table_fns_findrecord_map_test.flux",
																							Source: "r._field == \"temp\"",
																							Start: ast.Position{
																								Column: 72,
																								Line:   81,
																							},
																						},
																					},
																					Left: &ast.MemberExpression{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 80,
																									Line:   81,
																								},
																								File:   "table_fns_findrecord_map_test.flux",
																								Source: "r._field",
																								Start: ast.Position{
																									Column: 72,
																									Line:   81,
																								},
																							},
																						},
																						Lbrack: nil,
																						Object: &ast.Identifier{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 73,
																										Line:   81,
																									},
																									File:   "table_fns_findrecord_map_test.flux",
																									Source: "r",
																									Start: ast.Position{
																										Column: 72,
																										Line:   81,
																									},
																								},
																							},
																							Name: "r",
																						},
																						Property: &ast.Identifier{
																							BaseNode: ast.BaseNode{
																								Comments: nil,
																								Errors:   nil,
																								Loc: &ast.SourceLocation{
																									End: ast.Position{
																										Column: 80,
																										Line:   81,
																									},
																									File:   "table_fns_findrecord_map_test.flux",
																									Source: "_field",
																									Start: ast.Position{
																										Column: 74,
																										Line:   81,
																									},
																								},
																							},
																							Name: "_field",
																						},
																						Rbrack: nil,
																					},
																					Operator: 17,
																					Right: &ast.StringLiteral{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 90,
																									Line:   81,
																								},
																								File:   "table_fns_findrecord_map_test.flux",
																								Source: "\"temp\"",
																								Start: ast.Position{
																									Column: 84,
																									Line:   81,
																								},
																							},
																						},
																						Value: "temp",
																					},
																				},
																			},
																			Operator: 1,
																			Right: &ast.BinaryExpression{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 109,
																							Line:   81,
																						},
																						File:   "table_fns_findrecord_map_test.flux",
																						Source: "r.city == city",
																						Start: ast.Position{
																							Column: 95,
																							Line:   81,
																						},
																					},
																				},
																				Left: &ast.MemberExpression{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 101,
																								Line:   81,
																							},
																							File:   "table_fns_findrecord_map_test.flux",
																							Source: "r.city",
																							Start: ast.Position{
																								Column: 95,
																								Line:   81,
																							},
																						},
																					},
																					Lbrack: nil,
																					Object: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 96,
																									Line:   81,
																								},
																								File:   "table_fns_findrecord_map_test.flux",
																								Source: "r",
																								Start: ast.Position{
																									Column: 95,
																									Line:   81,
																								},
																							},
																						},
																						Name: "r",
																					},
																					Property: &ast.Identifier{
																						BaseNode: ast.BaseNode{
																							Comments: nil,
																							Errors:   nil,
																							Loc: &ast.SourceLocation{
																								End: ast.Position{
																									Column: 101,
																									Line:   81,
																								},
																								File:   "table_fns_findrecord_map_test.flux",
																								Source: "city",
																								Start: ast.Position{
																									Column: 97,
																									Line:   81,
																								},
																							},
																						},
																						Name: "city",
																					},
																					Rbrack: nil,
																				},
																				Operator: 17,
																				Right: &ast.Identifier{
																					BaseNode: ast.BaseNode{
																						Comments: nil,
																						Errors:   nil,
																						Loc: &ast.SourceLocation{
																							End: ast.Position{
																								Column: 109,
																								Line:   81,
																							},
																							File:   "table_fns_findrecord_map_test.flux",
																							Source: "city",
																							Start: ast.Position{
																								Column: 105,
																								Line:   81,
																							},
																						},
																					},
																					Name: "city",
																				},
																			},
																		},
																		Lparen: nil,
																		Params: []*ast.Property{&ast.Property{
																			BaseNode: ast.BaseNode{
																				Comments: nil,
																				Errors:   nil,
																				Loc: &ast.SourceLocation{
																					End: ast.Position{
																						Column: 33,
																						Line:   81,
																					},
																					File:   "table_fns_findrecord_map_test.flux",
																					Source: "r",
																					Start: ast.Position{
																						Column: 32,
																						Line:   81,
																					},
																				},
																			},
																			Comma: nil,
																			Key: &ast.Identifier{
																				BaseNode: ast.BaseNode{
																					Comments: nil,
																					Errors:   nil,
																					Loc: &ast.SourceLocation{
																						End: ast.Position{
																							Column: 33,
																							Line:   81,
																						},
																						File:   "table_fns_findrecord_map_test.flux",
																						Source: "r",
																						Start: ast.Position{
																							Column: 32,
																							Line:   81,
																						},
																					},
																				},
																				Name: "r",
																			},
																			Separator: nil,
																			Value:     nil,
																		}},
																		Rparan: nil,
																	},
																}},
																Rbrace: nil,
																With:   nil,
															}},
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 110,
																		Line:   81,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)",
																	Start: ast.Position{
																		Column: 20,
																		Line:   81,
																	},
																},
															},
															Callee: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 26,
																			Line:   81,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "filter",
																		Start: ast.Position{
																			Column: 20,
																			Line:   81,
																		},
																	},
																},
																Name: "filter",
															},
															Lparen: nil,
															Rparen: nil,
														},
													},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 26,
																Line:   82,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()",
															Start: ast.Position{
																Column: 19,
																Line:   79,
															},
														},
													},
													Call: &ast.CallExpression{
														Arguments: nil,
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 26,
																	Line:   82,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "mean()",
																Start: ast.Position{
																	Column: 20,
																	Line:   82,
																},
															},
														},
														Callee: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 24,
																		Line:   82,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "mean",
																	Start: ast.Position{
																		Column: 20,
																		Line:   82,
																	},
																},
															},
															Name: "mean",
														},
														Lparen: nil,
														Rparen: nil,
													},
												},
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   83,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)",
														Start: ast.Position{
															Column: 19,
															Line:   79,
														},
													},
												},
												Call: &ast.CallExpression{
													Arguments: []ast.Expression{&ast.ObjectExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 56,
																	Line:   83,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "fn: (key) => true, idx: 0",
																Start: ast.Position{
																	Column: 31,
																	Line:   83,
																},
															},
														},
														Lbrace: nil,
														Properties: []*ast.Property{&ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 48,
																		Line:   83,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "fn: (key) => true",
																	Start: ast.Position{
																		Column: 31,
																		Line:   83,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 33,
																			Line:   83,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "fn",
																		Start: ast.Position{
																			Column: 31,
																			Line:   83,
																		},
																	},
																},
																Name: "fn",
															},
															Separator: nil,
															Value: &ast.FunctionExpression{
																Arrow: nil,
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 48,
																			Line:   83,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "(key) => true",
																		Start: ast.Position{
																			Column: 35,
																			Line:   83,
																		},
																	},
																},
																Body: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 48,
																				Line:   83,
																			},
																			File:   "table_fns_findrecord_map_test.flux",
																			Source: "true",
																			Start: ast.Position{
																				Column: 44,
																				Line:   83,
																			},
																		},
																	},
																	Name: "true",
																},
																Lparen: nil,
																Params: []*ast.Property{&ast.Property{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 39,
																				Line:   83,
																			},
																			File:   "table_fns_findrecord_map_test.flux",
																			Source: "key",
																			Start: ast.Position{
																				Column: 36,
																				Line:   83,
																			},
																		},
																	},
																	Comma: nil,
																	Key: &ast.Identifier{
																		BaseNode: ast.BaseNode{
																			Comments: nil,
																			Errors:   nil,
																			Loc: &ast.SourceLocation{
																				End: ast.Position{
																					Column: 39,
																					Line:   83,
																				},
																				File:   "table_fns_findrecord_map_test.flux",
																				Source: "key",
																				Start: ast.Position{
																					Column: 36,
																					Line:   83,
																				},
																			},
																		},
																		Name: "key",
																	},
																	Separator: nil,
																	Value:     nil,
																}},
																Rparan: nil,
															},
														}, &ast.Property{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 56,
																		Line:   83,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "idx: 0",
																	Start: ast.Position{
																		Column: 50,
																		Line:   83,
																	},
																},
															},
															Comma: nil,
															Key: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 53,
																			Line:   83,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "idx",
																		Start: ast.Position{
																			Column: 50,
																			Line:   83,
																		},
																	},
																},
																Name: "idx",
															},
															Separator: nil,
															Value: &ast.IntegerLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 56,
																			Line:   83,
																		},
																		File:   "table_fns_findrecord_map_test.flux",
																		Source: "0",
																		Start: ast.Position{
																			Column: 55,
																			Line:   83,
																		},
																	},
																},
																Value: int64(0),
															},
														}},
														Rbrace: nil,
														With:   nil,
													}},
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 57,
																Line:   83,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "findRecord(fn: (key) => true, idx: 0)",
															Start: ast.Position{
																Column: 20,
																Line:   83,
															},
														},
													},
													Callee: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 30,
																	Line:   83,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "findRecord",
																Start: ast.Position{
																	Column: 20,
																	Line:   83,
																},
															},
														},
														Name: "findRecord",
													},
													Lparen: nil,
													Rparen: nil,
												},
											},
										}, &ast.ReturnStatement{
											Argument: &ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 94,
															Line:   85,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "{city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}",
														Start: ast.Position{
															Column: 20,
															Line:   85,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 33,
																Line:   85,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "city: r.city",
															Start: ast.Position{
																Column: 21,
																Line:   85,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   85,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "city",
																Start: ast.Position{
																	Column: 21,
																	Line:   85,
																},
															},
														},
														Name: "city",
													},
													Separator: nil,
													Value: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 33,
																	Line:   85,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "r.city",
																Start: ast.Position{
																	Column: 27,
																	Line:   85,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 28,
																		Line:   85,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 27,
																		Line:   85,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 33,
																		Line:   85,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "city",
																	Start: ast.Position{
																		Column: 29,
																		Line:   85,
																	},
																},
															},
															Name: "city",
														},
														Rbrack: nil,
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 46,
																Line:   85,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "_time: stop",
															Start: ast.Position{
																Column: 35,
																Line:   85,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 40,
																	Line:   85,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "_time",
																Start: ast.Position{
																	Column: 35,
																	Line:   85,
																},
															},
														},
														Name: "_time",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 46,
																	Line:   85,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 42,
																	Line:   85,
																},
															},
														},
														Name: "stop",
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 66,
																Line:   85,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "_value: agg._value",
															Start: ast.Position{
																Column: 48,
																Line:   85,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 54,
																	Line:   85,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 48,
																	Line:   85,
																},
															},
														},
														Name: "_value",
													},
													Separator: nil,
													Value: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 66,
																	Line:   85,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "agg._value",
																Start: ast.Position{
																	Column: 56,
																	Line:   85,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 59,
																		Line:   85,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "agg",
																	Start: ast.Position{
																		Column: 56,
																		Line:   85,
																	},
																},
															},
															Name: "agg",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 66,
																		Line:   85,
																	},
																	File:   "table_fns_findrecord_map_test.flux",
																	Source: "_value",
																	Start: ast.Position{
																		Column: 60,
																		Line:   85,
																	},
																},
															},
															Name: "_value",
														},
														Rbrack: nil,
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 93,
																Line:   85,
															},
															File:   "table_fns_findrecord_map_test.flux",
															Source: "_field: \"event_temp_mean\"",
															Start: ast.Position{
																Column: 68,
																Line:   85,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 74,
																	Line:   85,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "_field",
																Start: ast.Position{
																	Column: 68,
																	Line:   85,
																},
															},
														},
														Name: "_field",
													},
													Separator: nil,
													Value: &ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 93,
																	Line:   85,
																},
																File:   "table_fns_findrecord_map_test.flux",
																Source: "\"event_temp_mean\"",
																Start: ast.Position{
																	Column: 76,
																	Line:   85,
																},
															},
														},
														Value: "event_temp_mean",
													},
												}},
												Rbrace: nil,
												With:   nil,
											},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 94,
														Line:   85,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}",
													Start: ast.Position{
														Column: 13,
														Line:   85,
													},
												},
											},
										}},
										Lbrace: nil,
										Rbrace: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   75,
												},
												File:   "table_fns_findrecord_map_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 14,
													Line:   75,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   75,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 14,
														Line:   75,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   87,
								},
								File:   "table_fns_findrecord_map_test.flux",
								Source: "map(\n        fn: (r) => {\n            start = time(v: r._value)\n            stop = experimental.addDuration(to: start, d: 1h)\n            city = r.city\n            agg = csv.from(csv: inData)\n                |> range(start, stop)\n                |> filter(fn: (r) => r._measurement == \"city_data\" and r._field == \"temp\" and r.city == city)\n                |> mean()\n                |> findRecord(fn: (key) => true, idx: 0)\n\n            return {city: r.city, _time: stop, _value: agg._value, _field: \"event_temp_mean\"}\n        },\n    )",
								Start: ast.Position{
									Column: 8,
									Line:   74,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   74,
									},
									File:   "table_fns_findrecord_map_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   74,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   71,
							},
							File:   "table_fns_findrecord_map_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 31,
								Line:   71,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 36,
									Line:   71,
								},
								File:   "table_fns_findrecord_map_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 31,
									Line:   71,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   71,
							},
							File:   "table_fns_findrecord_map_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 37,
								Line:   71,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 152,
							Line:   89,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "_table_fns_findrecord_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findrecord_map})",
						Start: ast.Position{
							Column: 6,
							Line:   89,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 31,
								Line:   89,
							},
							File:   "table_fns_findrecord_map_test.flux",
							Source: "_table_fns_findrecord_map",
							Start: ast.Position{
								Column: 6,
								Line:   89,
							},
						},
					},
					Name: "_table_fns_findrecord_map",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 152,
								Line:   89,
							},
							File:   "table_fns_findrecord_map_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findrecord_map})",
							Start: ast.Position{
								Column: 34,
								Line:   89,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 152,
									Line:   89,
								},
								File:   "table_fns_findrecord_map_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findrecord_map})",
								Start: ast.Position{
									Column: 40,
									Line:   89,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 151,
										Line:   89,
									},
									File:   "table_fns_findrecord_map_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findrecord_map}",
									Start: ast.Position{
										Column: 41,
										Line:   89,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 81,
											Line:   89,
										},
										File:   "table_fns_findrecord_map_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 42,
											Line:   89,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   89,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 42,
												Line:   89,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 80,
													Line:   89,
												},
												File:   "table_fns_findrecord_map_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 69,
													Line:   89,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   89,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 69,
														Line:   89,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 72,
															Line:   89,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 69,
															Line:   89,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 80,
															Line:   89,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 74,
															Line:   89,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   89,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 49,
												Line:   89,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   89,
												},
												File:   "table_fns_findrecord_map_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 49,
													Line:   89,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   89,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 49,
														Line:   89,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   89,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 57,
														Line:   89,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 118,
											Line:   89,
										},
										File:   "table_fns_findrecord_map_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 83,
											Line:   89,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 87,
												Line:   89,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 83,
												Line:   89,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 117,
													Line:   89,
												},
												File:   "table_fns_findrecord_map_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 105,
													Line:   89,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 117,
														Line:   89,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 105,
														Line:   89,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 108,
															Line:   89,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 105,
															Line:   89,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 117,
															Line:   89,
														},
														File:   "table_fns_findrecord_map_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 110,
															Line:   89,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   89,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 89,
												Line:   89,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   89,
												},
												File:   "table_fns_findrecord_map_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 89,
													Line:   89,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   89,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 89,
														Line:   89,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   89,
													},
													File:   "table_fns_findrecord_map_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 97,
														Line:   89,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 150,
											Line:   89,
										},
										File:   "table_fns_findrecord_map_test.flux",
										Source: "fn: t_table_fns_findrecord_map",
										Start: ast.Position{
											Column: 120,
											Line:   89,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 122,
												Line:   89,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 120,
												Line:   89,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 150,
												Line:   89,
											},
											File:   "table_fns_findrecord_map_test.flux",
											Source: "t_table_fns_findrecord_map",
											Start: ast.Position{
												Column: 124,
												Line:   89,
											},
										},
									},
									Name: "t_table_fns_findrecord_map",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 152,
						Line:   89,
					},
					File:   "table_fns_findrecord_map_test.flux",
					Source: "test _table_fns_findrecord_map = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_table_fns_findrecord_map})",
					Start: ast.Position{
						Column: 1,
						Line:   89,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "table_fns_findrecord_map_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   5,
					},
					File:   "table_fns_findrecord_map_test.flux",
					Source: "import \"csv\"",
					Start: ast.Position{
						Column: 1,
						Line:   5,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   5,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "\"csv\"",
						Start: ast.Position{
							Column: 8,
							Line:   5,
						},
					},
				},
				Value: "csv",
			},
		}, &ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   6,
					},
					File:   "table_fns_findrecord_map_test.flux",
					Source: "import \"experimental\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   6,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "\"experimental\"",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				Value: "experimental",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "table_fns_findrecord_map_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "table_fns_findrecord_map_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "table_fns_findrecord_map_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 57,
					Line:   29,
				},
				File:   "table_fns_test.flux",
				Source: "package universe_test\n\n\nimport \"csv\"\n\noption now = () => 2020-02-22T18:00:00Z\n\ncsvdata = \"\n#group,false,false,true,true,false,false,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,location,state\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T15:01:00Z,50,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T15:31:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T16:01:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T16:31:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:01:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:31:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:46:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n\"\ndata = csv.from(csv: csvdata)\n    |> range(start: -3h)\ncol = data\n    |> tableFind(fn: (key) => true)\n    |> getColumn(column: \"_value\")\nt_now = (table=<-) => table\n    |> filter(fn: (r) => contains(value: r._value, set: col))\n\ntest _sum = () => ({input: data, want: data, fn: t_now})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "table_fns_test.flux",
						Source: "now = () => 2020-02-22T18:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "table_fns_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "table_fns_test.flux",
							Source: "() => 2020-02-22T18:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "table_fns_test.flux",
								Source: "2020-02-22T18:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2020-02-22T18:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "table_fns_test.flux",
					Source: "option now = () => 2020-02-22T18:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   20,
					},
					File:   "table_fns_test.flux",
					Source: "csvdata = \"\n#group,false,false,true,true,false,false,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,location,state\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T15:01:00Z,50,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T15:31:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T16:01:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T16:31:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:01:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:31:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:46:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   8,
						},
						File:   "table_fns_test.flux",
						Source: "csvdata",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "csvdata",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   20,
						},
						File:   "table_fns_test.flux",
						Source: "\"\n#group,false,false,true,true,false,false,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,location,state\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T15:01:00Z,50,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T15:31:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T16:01:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T16:31:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:01:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:31:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:46:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   8,
						},
					},
				},
				Value: "\n#group,false,false,true,true,false,false,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,location,state\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T15:01:00Z,50,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T15:31:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T16:01:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T16:31:00Z,49,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:01:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:31:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n,,0,2018-04-06T10:49:41.565Z,2020-04-06T11:49:41.564Z,2020-02-22T17:46:00Z,48,bottom_degrees,h2o_temperature,santa_monica,CA\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 25,
						Line:   22,
					},
					File:   "table_fns_test.flux",
					Source: "data = csv.from(csv: csvdata)\n    |> range(start: -3h)",
					Start: ast.Position{
						Column: 1,
						Line:   21,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 5,
							Line:   21,
						},
						File:   "table_fns_test.flux",
						Source: "data",
						Start: ast.Position{
							Column: 1,
							Line:   21,
						},
					},
				},
				Name: "data",
			},
			Init: &ast.PipeExpression{
				Argument: &ast.CallExpression{
					Arguments: []ast.Expression{&ast.ObjectExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 29,
									Line:   21,
								},
								File:   "table_fns_test.flux",
								Source: "csv: csvdata",
								Start: ast.Position{
									Column: 17,
									Line:   21,
								},
							},
						},
						Lbrace: nil,
						Properties: []*ast.Property{&ast.Property{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   21,
									},
									File:   "table_fns_test.flux",
									Source: "csv: csvdata",
									Start: ast.Position{
										Column: 17,
										Line:   21,
									},
								},
							},
							Comma: nil,
							Key: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 20,
											Line:   21,
										},
										File:   "table_fns_test.flux",
										Source: "csv",
										Start: ast.Position{
											Column: 17,
											Line:   21,
										},
									},
								},
								Name: "csv",
							},
							Separator: nil,
							Value: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   21,
										},
										File:   "table_fns_test.flux",
										Source: "csvdata",
										Start: ast.Position{
											Column: 22,
											Line:   21,
										},
									},
								},
								Name: "csvdata",
							},
						}},
						Rbrace: nil,
						With:   nil,
					}},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   21,
							},
							File:   "table_fns_test.flux",
							Source: "csv.from(csv: csvdata)",
							Start: ast.Position{
								Column: 8,
								Line:   21,
							},
						},
					},
					Callee: &ast.MemberExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   21,
								},
								File:   "table_fns_test.flux",
								Source: "csv.from",
								Start: ast.Position{
									Column: 8,
									Line:   21,
								},
							},
						},
						Lbrack: nil,
						Object: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   21,
									},
									File:   "table_fns_test.flux",
									Source: "csv",
									Start: ast.Position{
										Column: 8,
										Line:   21,
									},
								},
							},
							Name: "csv",
						},
						Property: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 16,
										Line:   21,
									},
									File:   "table_fns_test.flux",
									Source: "from",
									Start: ast.Position{
										Column: 12,
										Line:   21,
									},
								},
							},
							Name: "from",
						},
						Rbrack: nil,
					},
					Lparen: nil,
					Rparen: nil,
				},
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   22,
						},
						File:   "table_fns_test.flux",
						Source: "csv.from(csv: csvdata)\n    |> range(start: -3h)",
						Start: ast.Position{
							Column: 8,
							Line:   21,
						},
					},
				},
				Call: &ast.CallExpression{
					Arguments: []ast.Expression{&ast.ObjectExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   22,
								},
								File:   "table_fns_test.flux",
								Source: "start: -3h",
								Start: ast.Position{
									Column: 14,
									Line:   22,
								},
							},
						},
						Lbrace: nil,
						Properties: []*ast.Property{&ast.Property{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   22,
									},
									File:   "table_fns_test.flux",
									Source: "start: -3h",
									Start: ast.Position{
										Column: 14,
										Line:   22,
									},
								},
							},
							Comma: nil,
							Key: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 19,
											Line:   22,
										},
										File:   "table_fns_test.flux",
										Source: "start",
										Start: ast.Position{
											Column: 14,
											Line:   22,
										},
									},
								},
								Name: "start",
							},
							Separator: nil,
							Value: &ast.UnaryExpression{
								Argument: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   22,
											},
											File:   "table_fns_test.flux",
											Source: "3h",
											Start: ast.Position{
												Column: 22,
												Line:   22,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(3),
										Unit:      "h",
									}},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   22,
										},
										File:   "table_fns_test.flux",
										Source: "-3h",
										Start: ast.Position{
											Column: 21,
											Line:   22,
										},
									},
								},
								Operator: 6,
							},
						}},
						Rbrace: nil,
						With:   nil,
					}},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   22,
							},
							File:   "table_fns_test.flux",
							Source: "range(start: -3h)",
							Start: ast.Position{
								Column: 8,
								Line:   22,
							},
						},
					},
					Callee: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   22,
								},
								File:   "table_fns_test.flux",
								Source: "range",
								Start: ast.Position{
									Column: 8,
									Line:   22,
								},
							},
						},
						Name: "range",
					},
					Lparen: nil,
					Rparen: nil,
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 35,
						Line:   25,
					},
					File:   "table_fns_test.flux",
					Source: "col = data\n    |> tableFind(fn: (key) => true)\n    |> getColumn(column: \"_value\")",
					Start: ast.Position{
						Column: 1,
						Line:   23,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 4,
							Line:   23,
						},
						File:   "table_fns_test.flux",
						Source: "col",
						Start: ast.Position{
							Column: 1,
							Line:   23,
						},
					},
				},
				Name: "col",
			},
			Init: &ast.PipeExpression{
				Argument: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 11,
									Line:   23,
								},
								File:   "table_fns_test.flux",
								Source: "data",
								Start: ast.Position{
									Column: 7,
									Line:   23,
								},
							},
						},
						Name: "data",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   24,
							},
							File:   "table_fns_test.flux",
							Source: "data\n    |> tableFind(fn: (key) => true)",
							Start: ast.Position{
								Column: 7,
								Line:   23,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   24,
									},
									File:   "table_fns_test.flux",
									Source: "fn: (key) => true",
									Start: ast.Position{
										Column: 18,
										Line:   24,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 35,
											Line:   24,
										},
										File:   "table_fns_test.flux",
										Source: "fn: (key) => true",
										Start: ast.Position{
											Column: 18,
											Line:   24,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   24,
											},
											File:   "table_fns_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 18,
												Line:   24,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   24,
											},
											File:   "table_fns_test.flux",
											Source: "(key) => true",
											Start: ast.Position{
												Column: 22,
												Line:   24,
											},
										},
									},
									Body: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 35,
													Line:   24,
												},
												File:   "table_fns_test.flux",
												Source: "true",
												Start: ast.Position{
													Column: 31,
													Line:   24,
												},
											},
										},
										Name: "true",
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 26,
													Line:   24,
												},
												File:   "table_fns_test.flux",
												Source: "key",
												Start: ast.Position{
													Column: 23,
													Line:   24,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 26,
														Line:   24,
													},
													File:   "table_fns_test.flux",
													Source: "key",
													Start: ast.Position{
														Column: 23,
														Line:   24,
													},
												},
											},
											Name: "key",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 36,
									Line:   24,
								},
								File:   "table_fns_test.flux",
								Source: "tableFind(fn: (key) => true)",
								Start: ast.Position{
									Column: 8,
									Line:   24,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   24,
									},
									File:   "table_fns_test.flux",
									Source: "tableFind",
									Start: ast.Position{
										Column: 8,
										Line:   24,
									},
								},
							},
							Name: "tableFind",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 35,
							Line:   25,
						},
						File:   "table_fns_test.flux",
						Source: "data\n    |> tableFind(fn: (key) => true)\n    |> getColumn(column: \"_value\")",
						Start: ast.Position{
							Column: 7,
							Line:   23,
						},
					},
				},
				Call: &ast.CallExpression{
					Arguments: []ast.Expression{&ast.ObjectExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 34,
									Line:   25,
								},
								File:   "table_fns_test.flux",
								Source: "column: \"_value\"",
								Start: ast.Position{
									Column: 18,
									Line:   25,
								},
							},
						},
						Lbrace: nil,
						Properties: []*ast.Property{&ast.Property{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   25,
									},
									File:   "table_fns_test.flux",
									Source: "column: \"_value\"",
									Start: ast.Position{
										Column: 18,
										Line:   25,
									},
								},
							},
							Comma: nil,
							Key: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   25,
										},
										File:   "table_fns_test.flux",
										Source: "column",
										Start: ast.Position{
											Column: 18,
											Line:   25,
										},
									},
								},
								Name: "column",
							},
							Separator: nil,
							Value: &ast.StringLiteral{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 34,
											Line:   25,
										},
										File:   "table_fns_test.flux",
										Source: "\"_value\"",
										Start: ast.Position{
											Column: 26,
											Line:   25,
										},
									},
								},
								Value: "_value",
							},
						}},
						Rbrace: nil,
						With:   nil,
					}},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 35,
								Line:   25,
							},
							File:   "table_fns_test.flux",
							Source: "getColumn(column: \"_value\")",
							Start: ast.Position{
								Column: 8,
								Line:   25,
							},
						},
					},
					Callee: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   25,
								},
								File:   "table_fns_test.flux",
								Source: "getColumn",
								Start: ast.Position{
									Column: 8,
									Line:   25,
								},
							},
						},
						Name: "getColumn",
					},
					Lparen: nil,
					Rparen: nil,
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 62,
						Line:   27,
					},
					File:   "table_fns_test.flux",
					Source: "t_now = (table=<-) => table\n    |> filter(fn: (r) => contains(value: r._value, set: col))",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   26,
						},
						File:   "table_fns_test.flux",
						Source: "t_now",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "t_now",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 62,
							Line:   27,
						},
						File:   "table_fns_test.flux",
						Source: "(table=<-) => table\n    |> filter(fn: (r) => contains(value: r._value, set: col))",
						Start: ast.Position{
							Column: 9,
							Line:   26,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   26,
								},
								File:   "table_fns_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 23,
									Line:   26,
								},
							},
						},
						Name: "table",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 62,
								Line:   27,
							},
							File:   "table_fns_test.flux",
							Source: "table\n    |> filter(fn: (r) => contains(value: r._value, set: col))",
							Start: ast.Position{
								Column: 23,
								Line:   26,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 61,
										Line:   27,
									},
									File:   "table_fns_test.flux",
									Source: "fn: (r) => contains(value: r._value, set: col)",
									Start: ast.Position{
										Column: 15,
										Line:   27,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   27,
										},
										File:   "table_fns_test.flux",
										Source: "fn: (r) => contains(value: r._value, set: col)",
										Start: ast.Position{
											Column: 15,
											Line:   27,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   27,
											},
											File:   "table_fns_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 15,
												Line:   27,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   27,
											},
											File:   "table_fns_test.flux",
											Source: "(r) => contains(value: r._value, set: col)",
											Start: ast.Position{
												Column: 19,
												Line:   27,
											},
										},
									},
									Body: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   27,
													},
													File:   "table_fns_test.flux",
													Source: "value: r._value, set: col",
													Start: ast.Position{
														Column: 35,
														Line:   27,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 50,
															Line:   27,
														},
														File:   "table_fns_test.flux",
														Source: "value: r._value",
														Start: ast.Position{
															Column: 35,
															Line:   27,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 40,
																Line:   27,
															},
															File:   "table_fns_test.flux",
															Source: "value",
															Start: ast.Position{
																Column: 35,
																Line:   27,
															},
														},
													},
													Name: "value",
												},
												Separator: nil,
												Value: &ast.MemberExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 50,
																Line:   27,
															},
															File:   "table_fns_test.flux",
															Source: "r._value",
															Start: ast.Position{
																Column: 42,
																Line:   27,
															},
														},
													},
													Lbrack: nil,
													Object: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 43,
																	Line:   27,
																},
																File:   "table_fns_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 42,
																	Line:   27,
																},
															},
														},
														Name: "r",
													},
													Property: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 50,
																	Line:   27,
																},
																File:   "table_fns_test.flux",
																Source: "_value",
																Start: ast.Position{
																	Column: 44,
																	Line:   27,
																},
															},
														},
														Name: "_value",
													},
													Rbrack: nil,
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   27,
														},
														File:   "table_fns_test.flux",
														Source: "set: col",
														Start: ast.Position{
															Column: 52,
															Line:   27,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 55,
																Line:   27,
															},
															File:   "table_fns_test.flux",
															Source: "set",
															Start: ast.Position{
																Column: 52,
																Line:   27,
															},
														},
													},
													Name: "set",
												},
												Separator: nil,
												Value: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 60,
																Line:   27,
															},
															File:   "table_fns_test.flux",
															Source: "col",
															Start: ast.Position{
																Column: 57,
																Line:   27,
															},
														},
													},
													Name: "col",
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   27,
												},
												File:   "table_fns_test.flux",
												Source: "contains(value: r._value, set: col)",
												Start: ast.Position{
													Column: 26,
													Line:   27,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   27,
													},
													File:   "table_fns_test.flux",
													Source: "contains",
													Start: ast.Position{
														Column: 26,
														Line:   27,
													},
												},
											},
											Name: "contains",
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   27,
												},
												File:   "table_fns_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 20,
													Line:   27,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   27,
													},
													File:   "table_fns_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 20,
														Line:   27,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 62,
									Line:   27,
								},
								File:   "table_fns_test.flux",
								Source: "filter(fn: (r) => contains(value: r._value, set: col))",
								Start: ast.Position{
									Column: 8,
									Line:   27,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   27,
									},
									File:   "table_fns_test.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 8,
										Line:   27,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   26,
							},
							File:   "table_fns_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   26,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   26,
								},
								File:   "table_fns_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   26,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   26,
							},
							File:   "table_fns_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   26,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 57,
							Line:   29,
						},
						File:   "table_fns_test.flux",
						Source: "_sum = () => ({input: data, want: data, fn: t_now})",
						Start: ast.Position{
							Column: 6,
							Line:   29,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   29,
							},
							File:   "table_fns_test.flux",
							Source: "_sum",
							Start: ast.Position{
								Column: 6,
								Line:   29,
							},
						},
					},
					Name: "_sum",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 57,
								Line:   29,
							},
							File:   "table_fns_test.flux",
							Source: "() => ({input: data, want: data, fn: t_now})",
							Start: ast.Position{
								Column: 13,
								Line:   29,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 57,
									Line:   29,
								},
								File:   "table_fns_test.flux",
								Source: "({input: data, want: data, fn: t_now})",
								Start: ast.Position{
									Column: 19,
									Line:   29,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 56,
										Line:   29,
									},
									File:   "table_fns_test.flux",
									Source: "{input: data, want: data, fn: t_now}",
									Start: ast.Position{
										Column: 20,
										Line:   29,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   29,
										},
										File:   "table_fns_test.flux",
										Source: "input: data",
										Start: ast.Position{
											Column: 21,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   29,
											},
											File:   "table_fns_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   29,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   29,
											},
											File:   "table_fns_test.flux",
											Source: "data",
											Start: ast.Position{
												Column: 28,
												Line:   29,
											},
										},
									},
									Name: "data",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   29,
										},
										File:   "table_fns_test.flux",
										Source: "want: data",
										Start: ast.Position{
											Column: 34,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   29,
											},
											File:   "table_fns_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 34,
												Line:   29,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   29,
											},
											File:   "table_fns_test.flux",
											Source: "data",
											Start: ast.Position{
												Column: 40,
												Line:   29,
											},
										},
									},
									Name: "data",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 55,
											Line:   29,
										},
										File:   "table_fns_test.flux",
										Source: "fn: t_now",
										Start: ast.Position{
											Column: 46,
											Line:   29,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   29,
											},
											File:   "table_fns_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 46,
												Line:   29,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 55,
												Line:   29,
											},
											File:   "table_fns_test.flux",
											Source: "t_now",
											Start: ast.Position{
												Column: 50,
												Line:   29,
											},
										},
									},
									Name: "t_now",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 57,
						Line:   29,
					},
					File:   "table_fns_test.flux",
					Source: "test _sum = () => ({input: data, want: data, fn: t_now})",
					Start: ast.Position{
						Column: 1,
						Line:   29,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 13,
						Line:   4,
					},
					File:   "table_fns_test.flux",
					Source: "import \"csv\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   4,
						},
						File:   "table_fns_test.flux",
						Source: "\"csv\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "csv",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "table_fns_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "table_fns_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "table_fns_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 119,
					Line:   56,
				},
				File:   "tail_offset_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n\"\nt_tail = (table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> tail(n: 2, offset: 1)\n\ntest _tail_offset = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "tail_offset_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "tail_offset_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "tail_offset_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "tail_offset_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "tail_offset_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "tail_offset_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "tail_offset_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "tail_offset_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   51,
					},
					File:   "tail_offset_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   38,
						},
						File:   "tail_offset_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   51,
						},
						File:   "tail_offset_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   38,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 29,
						Line:   54,
					},
					File:   "tail_offset_test.flux",
					Source: "t_tail = (table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> tail(n: 2, offset: 1)",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   52,
						},
						File:   "tail_offset_test.flux",
						Source: "t_tail",
						Start: ast.Position{
							Column: 1,
							Line:   52,
						},
					},
				},
				Name: "t_tail",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 29,
							Line:   54,
						},
						File:   "tail_offset_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> tail(n: 2, offset: 1)",
						Start: ast.Position{
							Column: 10,
							Line:   52,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   52,
									},
									File:   "tail_offset_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   52,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   53,
								},
								File:   "tail_offset_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)",
								Start: ast.Position{
									Column: 24,
									Line:   52,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   53,
										},
										File:   "tail_offset_test.flux",
										Source: "start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   53,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   53,
											},
											File:   "tail_offset_test.flux",
											Source: "start: 2018-05-22T19:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   53,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   53,
												},
												File:   "tail_offset_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   53,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   53,
												},
												File:   "tail_offset_test.flux",
												Source: "2018-05-22T19:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   53,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:00:00Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   53,
											},
											File:   "tail_offset_test.flux",
											Source: "stop: 2018-05-22T20:00:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   53,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   53,
												},
												File:   "tail_offset_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   53,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   53,
												},
												File:   "tail_offset_test.flux",
												Source: "2018-05-22T20:00:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   53,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T20:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   53,
									},
									File:   "tail_offset_test.flux",
									Source: "range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   53,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   53,
										},
										File:   "tail_offset_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   53,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 29,
								Line:   54,
							},
							File:   "tail_offset_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> tail(n: 2, offset: 1)",
							Start: ast.Position{
								Column: 24,
								Line:   52,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   54,
									},
									File:   "tail_offset_test.flux",
									Source: "n: 2, offset: 1",
									Start: ast.Position{
										Column: 13,
										Line:   54,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   54,
										},
										File:   "tail_offset_test.flux",
										Source: "n: 2",
										Start: ast.Position{
											Column: 13,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   54,
											},
											File:   "tail_offset_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 13,
												Line:   54,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   54,
											},
											File:   "tail_offset_test.flux",
											Source: "2",
											Start: ast.Position{
												Column: 16,
												Line:   54,
											},
										},
									},
									Value: int64(2),
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 28,
											Line:   54,
										},
										File:   "tail_offset_test.flux",
										Source: "offset: 1",
										Start: ast.Position{
											Column: 19,
											Line:   54,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   54,
											},
											File:   "tail_offset_test.flux",
											Source: "offset",
											Start: ast.Position{
												Column: 19,
												Line:   54,
											},
										},
									},
									Name: "offset",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   54,
											},
											File:   "tail_offset_test.flux",
											Source: "1",
											Start: ast.Position{
												Column: 27,
												Line:   54,
											},
										},
									},
									Value: int64(1),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 29,
									Line:   54,
								},
								File:   "tail_offset_test.flux",
								Source: "tail(n: 2, offset: 1)",
								Start: ast.Position{
									Column: 8,
									Line:   54,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   54,
									},
									File:   "tail_offset_test.flux",
									Source: "tail",
									Start: ast.Position{
										Column: 8,
										Line:   54,
									},
								},
							},
							Name: "tail",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   52,
							},
							File:   "tail_offset_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   52,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   52,
								},
								File:   "tail_offset_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   52,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   52,
							},
							File:   "tail_offset_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   52,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 119,
							Line:   56,
						},
						File:   "tail_offset_test.flux",
						Source: "_tail_offset = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
						Start: ast.Position{
							Column: 6,
							Line:   56,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   56,
							},
							File:   "tail_offset_test.flux",
							Source: "_tail_offset",
							Start: ast.Position{
								Column: 6,
								Line:   56,
							},
						},
					},
					Name: "_tail_offset",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 119,
								Line:   56,
							},
							File:   "tail_offset_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
							Start: ast.Position{
								Column: 21,
								Line:   56,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 119,
									Line:   56,
								},
								File:   "tail_offset_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
								Start: ast.Position{
									Column: 27,
									Line:   56,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 118,
										Line:   56,
									},
									File:   "tail_offset_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail}",
									Start: ast.Position{
										Column: 28,
										Line:   56,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   56,
										},
										File:   "tail_offset_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 29,
											Line:   56,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   56,
											},
											File:   "tail_offset_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 29,
												Line:   56,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   56,
												},
												File:   "tail_offset_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 56,
													Line:   56,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   56,
													},
													File:   "tail_offset_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 56,
														Line:   56,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   56,
														},
														File:   "tail_offset_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 56,
															Line:   56,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   56,
														},
														File:   "tail_offset_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 61,
															Line:   56,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   56,
											},
											File:   "tail_offset_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 36,
												Line:   56,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   56,
												},
												File:   "tail_offset_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 36,
													Line:   56,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   56,
													},
													File:   "tail_offset_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 36,
														Line:   56,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   56,
													},
													File:   "tail_offset_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 44,
														Line:   56,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 105,
											Line:   56,
										},
										File:   "tail_offset_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 70,
											Line:   56,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   56,
											},
											File:   "tail_offset_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 70,
												Line:   56,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   56,
												},
												File:   "tail_offset_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 92,
													Line:   56,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   56,
													},
													File:   "tail_offset_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 92,
														Line:   56,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 95,
															Line:   56,
														},
														File:   "tail_offset_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 92,
															Line:   56,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 104,
															Line:   56,
														},
														File:   "tail_offset_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 97,
															Line:   56,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   56,
											},
											File:   "tail_offset_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 76,
												Line:   56,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 91,
													Line:   56,
												},
												File:   "tail_offset_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 76,
													Line:   56,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   56,
													},
													File:   "tail_offset_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 76,
														Line:   56,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   56,
													},
													File:   "tail_offset_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 84,
														Line:   56,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 117,
											Line:   56,
										},
										File:   "tail_offset_test.flux",
										Source: "fn: t_tail",
										Start: ast.Position{
											Column: 107,
											Line:   56,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   56,
											},
											File:   "tail_offset_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 107,
												Line:   56,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 117,
												Line:   56,
											},
											File:   "tail_offset_test.flux",
											Source: "t_tail",
											Start: ast.Position{
												Column: 111,
												Line:   56,
											},
										},
									},
									Name: "t_tail",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 119,
						Line:   56,
					},
					File:   "tail_offset_test.flux",
					Source: "test _tail_offset = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
					Start: ast.Position{
						Column: 1,
						Line:   56,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "tail_offset_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "tail_offset_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "tail_offset_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "tail_offset_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "tail_offset_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 112,
					Line:   52,
				},
				File:   "tail_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"\nt_tail = (table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> tail(n: 1)\n\ntest _tail = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "tail_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "tail_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "tail_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "tail_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "tail_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "tail_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "tail_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "tail_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,1.83,load1,system,host.local\n,,0,2018-05-22T19:53:36Z,1.7,load1,system,host.local\n,,0,2018-05-22T19:53:46Z,1.74,load1,system,host.local\n,,0,2018-05-22T19:53:56Z,1.63,load1,system,host.local\n,,0,2018-05-22T19:54:06Z,1.91,load1,system,host.local\n,,0,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:53:26Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:53:36Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:46Z,1.97,load15,system,host.local\n,,1,2018-05-22T19:53:56Z,1.96,load15,system,host.local\n,,1,2018-05-22T19:54:06Z,1.98,load15,system,host.local\n,,1,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:53:26Z,1.95,load5,system,host.local\n,,2,2018-05-22T19:53:36Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:46Z,1.92,load5,system,host.local\n,,2,2018-05-22T19:53:56Z,1.89,load5,system,host.local\n,,2,2018-05-22T19:54:06Z,1.94,load5,system,host.local\n,,2,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:53:26Z,82.9833984375,used_percent,swap,host.local\n,,3,2018-05-22T19:53:36Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:46Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:53:56Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:06Z,82.598876953125,used_percent,swap,host.local\n,,3,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   47,
					},
					File:   "tail_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   38,
						},
						File:   "tail_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   47,
						},
						File:   "tail_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   38,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.84,load1,system,host.local\n,,1,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.97,load15,system,host.local\n,,2,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,1.93,load5,system,host.local\n,,3,2018-05-22T19:00:00Z,2018-05-22T20:00:00Z,2018-05-22T19:54:16Z,82.6416015625,used_percent,swap,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 18,
						Line:   50,
					},
					File:   "tail_test.flux",
					Source: "t_tail = (table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> tail(n: 1)",
					Start: ast.Position{
						Column: 1,
						Line:   48,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   48,
						},
						File:   "tail_test.flux",
						Source: "t_tail",
						Start: ast.Position{
							Column: 1,
							Line:   48,
						},
					},
				},
				Name: "t_tail",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 18,
							Line:   50,
						},
						File:   "tail_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> tail(n: 1)",
						Start: ast.Position{
							Column: 10,
							Line:   48,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   48,
									},
									File:   "tail_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 24,
										Line:   48,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   49,
								},
								File:   "tail_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)",
								Start: ast.Position{
									Column: 24,
									Line:   48,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   49,
										},
										File:   "tail_test.flux",
										Source: "start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   49,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   49,
											},
											File:   "tail_test.flux",
											Source: "start: 2018-05-22T19:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   49,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   49,
												},
												File:   "tail_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   49,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   49,
												},
												File:   "tail_test.flux",
												Source: "2018-05-22T19:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   49,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:00:00Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   49,
											},
											File:   "tail_test.flux",
											Source: "stop: 2018-05-22T20:00:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   49,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   49,
												},
												File:   "tail_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   49,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   49,
												},
												File:   "tail_test.flux",
												Source: "2018-05-22T20:00:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   49,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T20:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   49,
									},
									File:   "tail_test.flux",
									Source: "range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   49,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   49,
										},
										File:   "tail_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   49,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   50,
							},
							File:   "tail_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:00:00Z, stop: 2018-05-22T20:00:00Z)\n    |> tail(n: 1)",
							Start: ast.Position{
								Column: 24,
								Line:   48,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   50,
									},
									File:   "tail_test.flux",
									Source: "n: 1",
									Start: ast.Position{
										Column: 13,
										Line:   50,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   50,
										},
										File:   "tail_test.flux",
										Source: "n: 1",
										Start: ast.Position{
											Column: 13,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   50,
											},
											File:   "tail_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 13,
												Line:   50,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   50,
											},
											File:   "tail_test.flux",
											Source: "1",
											Start: ast.Position{
												Column: 16,
												Line:   50,
											},
										},
									},
									Value: int64(1),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   50,
								},
								File:   "tail_test.flux",
								Source: "tail(n: 1)",
								Start: ast.Position{
									Column: 8,
									Line:   50,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   50,
									},
									File:   "tail_test.flux",
									Source: "tail",
									Start: ast.Position{
										Column: 8,
										Line:   50,
									},
								},
							},
							Name: "tail",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   48,
							},
							File:   "tail_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 11,
								Line:   48,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 16,
									Line:   48,
								},
								File:   "tail_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 11,
									Line:   48,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   48,
							},
							File:   "tail_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 17,
								Line:   48,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 112,
							Line:   52,
						},
						File:   "tail_test.flux",
						Source: "_tail = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
						Start: ast.Position{
							Column: 6,
							Line:   52,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   52,
							},
							File:   "tail_test.flux",
							Source: "_tail",
							Start: ast.Position{
								Column: 6,
								Line:   52,
							},
						},
					},
					Name: "_tail",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 112,
								Line:   52,
							},
							File:   "tail_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
							Start: ast.Position{
								Column: 14,
								Line:   52,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 112,
									Line:   52,
								},
								File:   "tail_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
								Start: ast.Position{
									Column: 20,
									Line:   52,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 111,
										Line:   52,
									},
									File:   "tail_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail}",
									Start: ast.Position{
										Column: 21,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 61,
											Line:   52,
										},
										File:   "tail_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 22,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   52,
											},
											File:   "tail_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 22,
												Line:   52,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 60,
													Line:   52,
												},
												File:   "tail_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 49,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 60,
														Line:   52,
													},
													File:   "tail_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 49,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   52,
														},
														File:   "tail_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 49,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   52,
														},
														File:   "tail_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 54,
															Line:   52,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 61,
												Line:   52,
											},
											File:   "tail_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 29,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   52,
												},
												File:   "tail_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 29,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   52,
													},
													File:   "tail_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 29,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 48,
														Line:   52,
													},
													File:   "tail_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 37,
														Line:   52,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 98,
											Line:   52,
										},
										File:   "tail_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 63,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 67,
												Line:   52,
											},
											File:   "tail_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 63,
												Line:   52,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 97,
													Line:   52,
												},
												File:   "tail_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 85,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   52,
													},
													File:   "tail_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 85,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 88,
															Line:   52,
														},
														File:   "tail_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 85,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 97,
															Line:   52,
														},
														File:   "tail_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 90,
															Line:   52,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 98,
												Line:   52,
											},
											File:   "tail_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 69,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 84,
													Line:   52,
												},
												File:   "tail_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 69,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   52,
													},
													File:   "tail_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 69,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   52,
													},
													File:   "tail_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 77,
														Line:   52,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 110,
											Line:   52,
										},
										File:   "tail_test.flux",
										Source: "fn: t_tail",
										Start: ast.Position{
											Column: 100,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 102,
												Line:   52,
											},
											File:   "tail_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 100,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   52,
											},
											File:   "tail_test.flux",
											Source: "t_tail",
											Start: ast.Position{
												Column: 104,
												Line:   52,
											},
										},
									},
									Name: "t_tail",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 112,
						Line:   52,
					},
					File:   "tail_test.flux",
					Source: "test _tail = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_tail})",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "tail_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "tail_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "tail_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "tail_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "tail_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   84,
				},
				File:   "task_per_line_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,status,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,requestedAt,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c908f37000,2018-10-03T17:55:12Z\n,,2,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n,,2,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c922737000,2018-10-03T17:55:13Z\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339\n#group,false,false,true,true,true,true,true,false,false,false\n#default,r2,,,,,,,,,\n,result,table,_start,_stop,taskID,orgID,_measurement,runID,started,success\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c908f37000,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:11.01435Z\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c922737000,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:11.115415Z\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c8f1737000,1970-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z\n\n#datatype,string,long,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,true,true,false,false,false,false,true\n#default,r3,,,,,,,,,,,,\n,result,table,_measurement,_start,_stop,_time,orgID,runID,scheduledFor,started,status,success,taskID\n,,0,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:10.920529Z,02bac3c8d6c5b000,02bac3c8f1737000,2018-10-03T17:55:11Z,1970-01-01T00:00:00Z,success,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000\n,,1,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01114Z,02bac3c8d6c5b000,02bac3c908f37000,2018-10-03T17:55:12Z,2018-10-03T17:55:11.01114Z,started,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000\n,,1,1970-01-01T00:00:01Z,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01435Z,02bac3c8d6c5b000,02bac3c908f37000,2018-10-03T17:55:12Z,2018-10-03T17:55:11.01114Z,success,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000\n,,2,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.113222Z,02bac3c8d6c5b000,02bac3c922737000,2018-10-03T17:55:13Z,2018-10-03T17:55:11.113222Z,started,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000\n,,2,,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.115415Z,02bac3c8d6c5b000,02bac3c922737000,2018-10-03T17:55:13Z,2018-10-03T17:55:11.113222Z,success,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000\n\"\nfn = (table=<-) => {\n    supl = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> group(columns: [\"runID\"])\n    main = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> pivot(rowKey: [\"runID\"], columnKey: [\"status\"], valueColumn: \"_time\")\n\n    return join(\n        tables: {main: main, supl: supl},\n        on: [\n            \"_start\",\n            \"_stop\",\n            \"orgID\",\n            \"taskID\",\n            \"runID\",\n            \"_measurement\",\n        ],\n    )\n}\n\ntest task_per_line = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: fn})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "task_per_line_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "task_per_line_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "task_per_line_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "task_per_line_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "task_per_line_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   24,
					},
					File:   "task_per_line_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,status,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "task_per_line_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   24,
						},
						File:   "task_per_line_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,status,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true\n#default,_result,,,,,,,,\n,result,table,_time,_value,_field,taskID,orgID,status,_measurement\n,,0,2018-10-03T17:55:11.01114Z,1970-01-01T00:00:01Z,requestedAt,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.01114Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,1,2018-10-03T17:55:11.113222Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,2,2018-10-03T17:55:10.920529Z,02bac3c8f1737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.01435Z,02bac3c908f37000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,2,2018-10-03T17:55:11.115415Z,02bac3c922737000,runID,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,3,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,3,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,started,records\n,,4,2018-10-03T17:55:10.920529Z,2018-10-03T17:55:11Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.01435Z,2018-10-03T17:55:12Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n,,4,2018-10-03T17:55:11.115415Z,2018-10-03T17:55:13Z,scheduledFor,02bac3c8f0f37000,02bac3c8d6c5b000,success,records\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   58,
					},
					File:   "task_per_line_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,requestedAt,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c908f37000,2018-10-03T17:55:12Z\n,,2,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n,,2,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c922737000,2018-10-03T17:55:13Z\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339\n#group,false,false,true,true,true,true,true,false,false,false\n#default,r2,,,,,,,,,\n,result,table,_start,_stop,taskID,orgID,_measurement,runID,started,success\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c908f37000,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:11.01435Z\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c922737000,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:11.115415Z\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c8f1737000,1970-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z\n\n#datatype,string,long,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,true,true,false,false,false,false,true\n#default,r3,,,,,,,,,,,,\n,result,table,_measurement,_start,_stop,_time,orgID,runID,scheduledFor,started,status,success,taskID\n,,0,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:10.920529Z,02bac3c8d6c5b000,02bac3c8f1737000,2018-10-03T17:55:11Z,1970-01-01T00:00:00Z,success,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000\n,,1,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01114Z,02bac3c8d6c5b000,02bac3c908f37000,2018-10-03T17:55:12Z,2018-10-03T17:55:11.01114Z,started,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000\n,,1,1970-01-01T00:00:01Z,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01435Z,02bac3c8d6c5b000,02bac3c908f37000,2018-10-03T17:55:12Z,2018-10-03T17:55:11.01114Z,success,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000\n,,2,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.113222Z,02bac3c8d6c5b000,02bac3c922737000,2018-10-03T17:55:13Z,2018-10-03T17:55:11.113222Z,started,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000\n,,2,,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.115415Z,02bac3c8d6c5b000,02bac3c922737000,2018-10-03T17:55:13Z,2018-10-03T17:55:11.113222Z,success,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   25,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   25,
						},
						File:   "task_per_line_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   25,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   58,
						},
						File:   "task_per_line_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,requestedAt,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c908f37000,2018-10-03T17:55:12Z\n,,2,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n,,2,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c922737000,2018-10-03T17:55:13Z\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339\n#group,false,false,true,true,true,true,true,false,false,false\n#default,r2,,,,,,,,,\n,result,table,_start,_stop,taskID,orgID,_measurement,runID,started,success\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c908f37000,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:11.01435Z\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c922737000,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:11.115415Z\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c8f1737000,1970-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z\n\n#datatype,string,long,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,true,true,false,false,false,false,true\n#default,r3,,,,,,,,,,,,\n,result,table,_measurement,_start,_stop,_time,orgID,runID,scheduledFor,started,status,success,taskID\n,,0,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:10.920529Z,02bac3c8d6c5b000,02bac3c8f1737000,2018-10-03T17:55:11Z,1970-01-01T00:00:00Z,success,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000\n,,1,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01114Z,02bac3c8d6c5b000,02bac3c908f37000,2018-10-03T17:55:12Z,2018-10-03T17:55:11.01114Z,started,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000\n,,1,1970-01-01T00:00:01Z,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01435Z,02bac3c8d6c5b000,02bac3c908f37000,2018-10-03T17:55:12Z,2018-10-03T17:55:11.01114Z,success,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000\n,,2,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.113222Z,02bac3c8d6c5b000,02bac3c922737000,2018-10-03T17:55:13Z,2018-10-03T17:55:11.113222Z,started,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000\n,,2,,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.115415Z,02bac3c8d6c5b000,02bac3c922737000,2018-10-03T17:55:13Z,2018-10-03T17:55:11.113222Z,success,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   25,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,runID,scheduledFor\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,02bac3c8f1737000,2018-10-03T17:55:11Z\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,string\n#group,false,false,false,false,false,false,false,false,false,false,true,false\n#default,r1,,,,,,,,,,,\n,result,table,_start,_stop,_time,taskID,orgID,status,_measurement,requestedAt,runID,scheduledFor\n,,1,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01114Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,1970-01-01T00:00:01Z,02bac3c908f37000,2018-10-03T17:55:12Z\n,,1,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c908f37000,2018-10-03T17:55:12Z\n,,2,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.113222Z,02bac3c8f0f37000,02bac3c8d6c5b000,started,records,,02bac3c922737000,2018-10-03T17:55:13Z\n,,2,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000,02bac3c8d6c5b000,success,records,,02bac3c922737000,2018-10-03T17:55:13Z\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,dateTime:RFC3339,dateTime:RFC3339\n#group,false,false,true,true,true,true,true,false,false,false\n#default,r2,,,,,,,,,\n,result,table,_start,_stop,taskID,orgID,_measurement,runID,started,success\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c908f37000,2018-10-03T17:55:11.01114Z,2018-10-03T17:55:11.01435Z\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c922737000,2018-10-03T17:55:11.113222Z,2018-10-03T17:55:11.115415Z\n,,0,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,02bac3c8f0f37000,02bac3c8d6c5b000,records,02bac3c8f1737000,1970-01-01T00:00:00Z,2018-10-03T17:55:10.920529Z\n\n#datatype,string,long,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string,dateTime:RFC3339,string,dateTime:RFC3339,string\n#group,false,false,true,true,true,false,true,true,false,false,false,false,true\n#default,r3,,,,,,,,,,,,\n,result,table,_measurement,_start,_stop,_time,orgID,runID,scheduledFor,started,status,success,taskID\n,,0,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:10.920529Z,02bac3c8d6c5b000,02bac3c8f1737000,2018-10-03T17:55:11Z,1970-01-01T00:00:00Z,success,2018-10-03T17:55:10.920529Z,02bac3c8f0f37000\n,,1,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01114Z,02bac3c8d6c5b000,02bac3c908f37000,2018-10-03T17:55:12Z,2018-10-03T17:55:11.01114Z,started,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000\n,,1,1970-01-01T00:00:01Z,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.01435Z,02bac3c8d6c5b000,02bac3c908f37000,2018-10-03T17:55:12Z,2018-10-03T17:55:11.01114Z,success,2018-10-03T17:55:11.01435Z,02bac3c8f0f37000\n,,2,records,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.113222Z,02bac3c8d6c5b000,02bac3c922737000,2018-10-03T17:55:13Z,2018-10-03T17:55:11.113222Z,started,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000\n,,2,,2018-10-02T17:55:11.520461Z,2018-10-03T17:55:11.520461Z,2018-10-03T17:55:11.115415Z,02bac3c8d6c5b000,02bac3c922737000,2018-10-03T17:55:13Z,2018-10-03T17:55:11.113222Z,success,2018-10-03T17:55:11.115415Z,02bac3c8f0f37000\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   82,
					},
					File:   "task_per_line_test.flux",
					Source: "fn = (table=<-) => {\n    supl = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> group(columns: [\"runID\"])\n    main = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> pivot(rowKey: [\"runID\"], columnKey: [\"status\"], valueColumn: \"_time\")\n\n    return join(\n        tables: {main: main, supl: supl},\n        on: [\n            \"_start\",\n            \"_stop\",\n            \"orgID\",\n            \"taskID\",\n            \"runID\",\n            \"_measurement\",\n        ],\n    )\n}",
					Start: ast.Position{
						Column: 1,
						Line:   59,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 3,
							Line:   59,
						},
						File:   "task_per_line_test.flux",
						Source: "fn",
						Start: ast.Position{
							Column: 1,
							Line:   59,
						},
					},
				},
				Name: "fn",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   82,
						},
						File:   "task_per_line_test.flux",
						Source: "(table=<-) => {\n    supl = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> group(columns: [\"runID\"])\n    main = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> pivot(rowKey: [\"runID\"], columnKey: [\"status\"], valueColumn: \"_time\")\n\n    return join(\n        tables: {main: main, supl: supl},\n        on: [\n            \"_start\",\n            \"_stop\",\n            \"orgID\",\n            \"taskID\",\n            \"runID\",\n            \"_measurement\",\n        ],\n    )\n}",
						Start: ast.Position{
							Column: 6,
							Line:   59,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   82,
							},
							File:   "task_per_line_test.flux",
							Source: "{\n    supl = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> group(columns: [\"runID\"])\n    main = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> pivot(rowKey: [\"runID\"], columnKey: [\"status\"], valueColumn: \"_time\")\n\n    return join(\n        tables: {main: main, supl: supl},\n        on: [\n            \"_start\",\n            \"_stop\",\n            \"orgID\",\n            \"taskID\",\n            \"runID\",\n            \"_measurement\",\n        ],\n    )\n}",
							Start: ast.Position{
								Column: 20,
								Line:   59,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   64,
								},
								File:   "task_per_line_test.flux",
								Source: "supl = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> group(columns: [\"runID\"])",
								Start: ast.Position{
									Column: 5,
									Line:   60,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 9,
										Line:   60,
									},
									File:   "task_per_line_test.flux",
									Source: "supl",
									Start: ast.Position{
										Column: 5,
										Line:   60,
									},
								},
							},
							Name: "supl",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   60,
													},
													File:   "task_per_line_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 12,
														Line:   60,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   61,
												},
												File:   "task_per_line_test.flux",
												Source: "table\n        |> range(start: 2018-10-02T17:55:11.520461Z)",
												Start: ast.Position{
													Column: 12,
													Line:   60,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   61,
														},
														File:   "task_per_line_test.flux",
														Source: "start: 2018-10-02T17:55:11.520461Z",
														Start: ast.Position{
															Column: 18,
															Line:   61,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 52,
																Line:   61,
															},
															File:   "task_per_line_test.flux",
															Source: "start: 2018-10-02T17:55:11.520461Z",
															Start: ast.Position{
																Column: 18,
																Line:   61,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 23,
																	Line:   61,
																},
																File:   "task_per_line_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 18,
																	Line:   61,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 52,
																	Line:   61,
																},
																File:   "task_per_line_test.flux",
																Source: "2018-10-02T17:55:11.520461Z",
																Start: ast.Position{
																	Column: 25,
																	Line:   61,
																},
															},
														},
														Value: parser.MustParseTime("2018-10-02T17:55:11.520461Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   61,
													},
													File:   "task_per_line_test.flux",
													Source: "range(start: 2018-10-02T17:55:11.520461Z)",
													Start: ast.Position{
														Column: 12,
														Line:   61,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   61,
														},
														File:   "task_per_line_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 12,
															Line:   61,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 93,
												Line:   62,
											},
											File:   "task_per_line_test.flux",
											Source: "table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")",
											Start: ast.Position{
												Column: 12,
												Line:   60,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   62,
													},
													File:   "task_per_line_test.flux",
													Source: "fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
													Start: ast.Position{
														Column: 19,
														Line:   62,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 92,
															Line:   62,
														},
														File:   "task_per_line_test.flux",
														Source: "fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
														Start: ast.Position{
															Column: 19,
															Line:   62,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   62,
															},
															File:   "task_per_line_test.flux",
															Source: "fn",
															Start: ast.Position{
																Column: 19,
																Line:   62,
															},
														},
													},
													Name: "fn",
												},
												Separator: nil,
												Value: &ast.FunctionExpression{
													Arrow: nil,
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 92,
																Line:   62,
															},
															File:   "task_per_line_test.flux",
															Source: "(r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
															Start: ast.Position{
																Column: 23,
																Line:   62,
															},
														},
													},
													Body: &ast.LogicalExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 92,
																	Line:   62,
																},
																File:   "task_per_line_test.flux",
																Source: "r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
																Start: ast.Position{
																	Column: 30,
																	Line:   62,
																},
															},
														},
														Left: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 57,
																		Line:   62,
																	},
																	File:   "task_per_line_test.flux",
																	Source: "r._measurement == \"records\"",
																	Start: ast.Position{
																		Column: 30,
																		Line:   62,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 44,
																			Line:   62,
																		},
																		File:   "task_per_line_test.flux",
																		Source: "r._measurement",
																		Start: ast.Position{
																			Column: 30,
																			Line:   62,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 31,
																				Line:   62,
																			},
																			File:   "task_per_line_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 30,
																				Line:   62,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 44,
																				Line:   62,
																			},
																			File:   "task_per_line_test.flux",
																			Source: "_measurement",
																			Start: ast.Position{
																				Column: 32,
																				Line:   62,
																			},
																		},
																	},
																	Name: "_measurement",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 57,
																			Line:   62,
																		},
																		File:   "task_per_line_test.flux",
																		Source: "\"records\"",
																		Start: ast.Position{
																			Column: 48,
																			Line:   62,
																		},
																	},
																},
																Value: "records",
															},
														},
														Operator: 1,
														Right: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 92,
																		Line:   62,
																	},
																	File:   "task_per_line_test.flux",
																	Source: "r.taskID == \"02bac3c8f0f37000\"",
																	Start: ast.Position{
																		Column: 62,
																		Line:   62,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 70,
																			Line:   62,
																		},
																		File:   "task_per_line_test.flux",
																		Source: "r.taskID",
																		Start: ast.Position{
																			Column: 62,
																			Line:   62,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 63,
																				Line:   62,
																			},
																			File:   "task_per_line_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 62,
																				Line:   62,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 70,
																				Line:   62,
																			},
																			File:   "task_per_line_test.flux",
																			Source: "taskID",
																			Start: ast.Position{
																				Column: 64,
																				Line:   62,
																			},
																		},
																	},
																	Name: "taskID",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 92,
																			Line:   62,
																		},
																		File:   "task_per_line_test.flux",
																		Source: "\"02bac3c8f0f37000\"",
																		Start: ast.Position{
																			Column: 74,
																			Line:   62,
																		},
																	},
																},
																Value: "02bac3c8f0f37000",
															},
														},
													},
													Lparen: nil,
													Params: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   62,
																},
																File:   "task_per_line_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   62,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   62,
																	},
																	File:   "task_per_line_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 24,
																		Line:   62,
																	},
																},
															},
															Name: "r",
														},
														Separator: nil,
														Value:     nil,
													}},
													Rparan: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   62,
												},
												File:   "task_per_line_test.flux",
												Source: "filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")",
												Start: ast.Position{
													Column: 12,
													Line:   62,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   62,
													},
													File:   "task_per_line_test.flux",
													Source: "filter",
													Start: ast.Position{
														Column: 12,
														Line:   62,
													},
												},
											},
											Name: "filter",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 82,
											Line:   63,
										},
										File:   "task_per_line_test.flux",
										Source: "table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
										Start: ast.Position{
											Column: 12,
											Line:   60,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 81,
													Line:   63,
												},
												File:   "task_per_line_test.flux",
												Source: "rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\"",
												Start: ast.Position{
													Column: 18,
													Line:   63,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   63,
													},
													File:   "task_per_line_test.flux",
													Source: "rowKey: [\"_time\"]",
													Start: ast.Position{
														Column: 18,
														Line:   63,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   63,
														},
														File:   "task_per_line_test.flux",
														Source: "rowKey",
														Start: ast.Position{
															Column: 18,
															Line:   63,
														},
													},
												},
												Name: "rowKey",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   63,
														},
														File:   "task_per_line_test.flux",
														Source: "[\"_time\"]",
														Start: ast.Position{
															Column: 26,
															Line:   63,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 34,
																Line:   63,
															},
															File:   "task_per_line_test.flux",
															Source: "\"_time\"",
															Start: ast.Position{
																Column: 27,
																Line:   63,
															},
														},
													},
													Value: "_time",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   63,
													},
													File:   "task_per_line_test.flux",
													Source: "columnKey: [\"_field\"]",
													Start: ast.Position{
														Column: 37,
														Line:   63,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   63,
														},
														File:   "task_per_line_test.flux",
														Source: "columnKey",
														Start: ast.Position{
															Column: 37,
															Line:   63,
														},
													},
												},
												Name: "columnKey",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   63,
														},
														File:   "task_per_line_test.flux",
														Source: "[\"_field\"]",
														Start: ast.Position{
															Column: 48,
															Line:   63,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 57,
																Line:   63,
															},
															File:   "task_per_line_test.flux",
															Source: "\"_field\"",
															Start: ast.Position{
																Column: 49,
																Line:   63,
															},
														},
													},
													Value: "_field",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   63,
													},
													File:   "task_per_line_test.flux",
													Source: "valueColumn: \"_value\"",
													Start: ast.Position{
														Column: 60,
														Line:   63,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   63,
														},
														File:   "task_per_line_test.flux",
														Source: "valueColumn",
														Start: ast.Position{
															Column: 60,
															Line:   63,
														},
													},
												},
												Name: "valueColumn",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 81,
															Line:   63,
														},
														File:   "task_per_line_test.flux",
														Source: "\"_value\"",
														Start: ast.Position{
															Column: 73,
															Line:   63,
														},
													},
												},
												Value: "_value",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   63,
											},
											File:   "task_per_line_test.flux",
											Source: "pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
											Start: ast.Position{
												Column: 12,
												Line:   63,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   63,
												},
												File:   "task_per_line_test.flux",
												Source: "pivot",
												Start: ast.Position{
													Column: 12,
													Line:   63,
												},
											},
										},
										Name: "pivot",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   64,
									},
									File:   "task_per_line_test.flux",
									Source: "table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> group(columns: [\"runID\"])",
									Start: ast.Position{
										Column: 12,
										Line:   60,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   64,
											},
											File:   "task_per_line_test.flux",
											Source: "columns: [\"runID\"]",
											Start: ast.Position{
												Column: 18,
												Line:   64,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   64,
												},
												File:   "task_per_line_test.flux",
												Source: "columns: [\"runID\"]",
												Start: ast.Position{
													Column: 18,
													Line:   64,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 25,
														Line:   64,
													},
													File:   "task_per_line_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 18,
														Line:   64,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 36,
														Line:   64,
													},
													File:   "task_per_line_test.flux",
													Source: "[\"runID\"]",
													Start: ast.Position{
														Column: 27,
														Line:   64,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   64,
														},
														File:   "task_per_line_test.flux",
														Source: "\"runID\"",
														Start: ast.Position{
															Column: 28,
															Line:   64,
														},
													},
												},
												Value: "runID",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   64,
										},
										File:   "task_per_line_test.flux",
										Source: "group(columns: [\"runID\"])",
										Start: ast.Position{
											Column: 12,
											Line:   64,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   64,
											},
											File:   "task_per_line_test.flux",
											Source: "group",
											Start: ast.Position{
												Column: 12,
												Line:   64,
											},
										},
									},
									Name: "group",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 81,
									Line:   69,
								},
								File:   "task_per_line_test.flux",
								Source: "main = table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> pivot(rowKey: [\"runID\"], columnKey: [\"status\"], valueColumn: \"_time\")",
								Start: ast.Position{
									Column: 5,
									Line:   65,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 9,
										Line:   65,
									},
									File:   "task_per_line_test.flux",
									Source: "main",
									Start: ast.Position{
										Column: 5,
										Line:   65,
									},
								},
							},
							Name: "main",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   65,
													},
													File:   "task_per_line_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 12,
														Line:   65,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   66,
												},
												File:   "task_per_line_test.flux",
												Source: "table\n        |> range(start: 2018-10-02T17:55:11.520461Z)",
												Start: ast.Position{
													Column: 12,
													Line:   65,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   66,
														},
														File:   "task_per_line_test.flux",
														Source: "start: 2018-10-02T17:55:11.520461Z",
														Start: ast.Position{
															Column: 18,
															Line:   66,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 52,
																Line:   66,
															},
															File:   "task_per_line_test.flux",
															Source: "start: 2018-10-02T17:55:11.520461Z",
															Start: ast.Position{
																Column: 18,
																Line:   66,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 23,
																	Line:   66,
																},
																File:   "task_per_line_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 18,
																	Line:   66,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 52,
																	Line:   66,
																},
																File:   "task_per_line_test.flux",
																Source: "2018-10-02T17:55:11.520461Z",
																Start: ast.Position{
																	Column: 25,
																	Line:   66,
																},
															},
														},
														Value: parser.MustParseTime("2018-10-02T17:55:11.520461Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   66,
													},
													File:   "task_per_line_test.flux",
													Source: "range(start: 2018-10-02T17:55:11.520461Z)",
													Start: ast.Position{
														Column: 12,
														Line:   66,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   66,
														},
														File:   "task_per_line_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 12,
															Line:   66,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 93,
												Line:   67,
											},
											File:   "task_per_line_test.flux",
											Source: "table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")",
											Start: ast.Position{
												Column: 12,
												Line:   65,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   67,
													},
													File:   "task_per_line_test.flux",
													Source: "fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
													Start: ast.Position{
														Column: 19,
														Line:   67,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 92,
															Line:   67,
														},
														File:   "task_per_line_test.flux",
														Source: "fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
														Start: ast.Position{
															Column: 19,
															Line:   67,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   67,
															},
															File:   "task_per_line_test.flux",
															Source: "fn",
															Start: ast.Position{
																Column: 19,
																Line:   67,
															},
														},
													},
													Name: "fn",
												},
												Separator: nil,
												Value: &ast.FunctionExpression{
													Arrow: nil,
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 92,
																Line:   67,
															},
															File:   "task_per_line_test.flux",
															Source: "(r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
															Start: ast.Position{
																Column: 23,
																Line:   67,
															},
														},
													},
													Body: &ast.LogicalExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 92,
																	Line:   67,
																},
																File:   "task_per_line_test.flux",
																Source: "r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\"",
																Start: ast.Position{
																	Column: 30,
																	Line:   67,
																},
															},
														},
														Left: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 57,
																		Line:   67,
																	},
																	File:   "task_per_line_test.flux",
																	Source: "r._measurement == \"records\"",
																	Start: ast.Position{
																		Column: 30,
																		Line:   67,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 44,
																			Line:   67,
																		},
																		File:   "task_per_line_test.flux",
																		Source: "r._measurement",
																		Start: ast.Position{
																			Column: 30,
																			Line:   67,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 31,
																				Line:   67,
																			},
																			File:   "task_per_line_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 30,
																				Line:   67,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 44,
																				Line:   67,
																			},
																			File:   "task_per_line_test.flux",
																			Source: "_measurement",
																			Start: ast.Position{
																				Column: 32,
																				Line:   67,
																			},
																		},
																	},
																	Name: "_measurement",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 57,
																			Line:   67,
																		},
																		File:   "task_per_line_test.flux",
																		Source: "\"records\"",
																		Start: ast.Position{
																			Column: 48,
																			Line:   67,
																		},
																	},
																},
																Value: "records",
															},
														},
														Operator: 1,
														Right: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 92,
																		Line:   67,
																	},
																	File:   "task_per_line_test.flux",
																	Source: "r.taskID == \"02bac3c8f0f37000\"",
																	Start: ast.Position{
																		Column: 62,
																		Line:   67,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 70,
																			Line:   67,
																		},
																		File:   "task_per_line_test.flux",
																		Source: "r.taskID",
																		Start: ast.Position{
																			Column: 62,
																			Line:   67,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 63,
																				Line:   67,
																			},
																			File:   "task_per_line_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 62,
																				Line:   67,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 70,
																				Line:   67,
																			},
																			File:   "task_per_line_test.flux",
																			Source: "taskID",
																			Start: ast.Position{
																				Column: 64,
																				Line:   67,
																			},
																		},
																	},
																	Name: "taskID",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 92,
																			Line:   67,
																		},
																		File:   "task_per_line_test.flux",
																		Source: "\"02bac3c8f0f37000\"",
																		Start: ast.Position{
																			Column: 74,
																			Line:   67,
																		},
																	},
																},
																Value: "02bac3c8f0f37000",
															},
														},
													},
													Lparen: nil,
													Params: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   67,
																},
																File:   "task_per_line_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   67,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   67,
																	},
																	File:   "task_per_line_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 24,
																		Line:   67,
																	},
																},
															},
															Name: "r",
														},
														Separator: nil,
														Value:     nil,
													}},
													Rparan: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 93,
													Line:   67,
												},
												File:   "task_per_line_test.flux",
												Source: "filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")",
												Start: ast.Position{
													Column: 12,
													Line:   67,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   67,
													},
													File:   "task_per_line_test.flux",
													Source: "filter",
													Start: ast.Position{
														Column: 12,
														Line:   67,
													},
												},
											},
											Name: "filter",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 82,
											Line:   68,
										},
										File:   "task_per_line_test.flux",
										Source: "table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
										Start: ast.Position{
											Column: 12,
											Line:   65,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 81,
													Line:   68,
												},
												File:   "task_per_line_test.flux",
												Source: "rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\"",
												Start: ast.Position{
													Column: 18,
													Line:   68,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   68,
													},
													File:   "task_per_line_test.flux",
													Source: "rowKey: [\"_time\"]",
													Start: ast.Position{
														Column: 18,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   68,
														},
														File:   "task_per_line_test.flux",
														Source: "rowKey",
														Start: ast.Position{
															Column: 18,
															Line:   68,
														},
													},
												},
												Name: "rowKey",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   68,
														},
														File:   "task_per_line_test.flux",
														Source: "[\"_time\"]",
														Start: ast.Position{
															Column: 26,
															Line:   68,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 34,
																Line:   68,
															},
															File:   "task_per_line_test.flux",
															Source: "\"_time\"",
															Start: ast.Position{
																Column: 27,
																Line:   68,
															},
														},
													},
													Value: "_time",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   68,
													},
													File:   "task_per_line_test.flux",
													Source: "columnKey: [\"_field\"]",
													Start: ast.Position{
														Column: 37,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   68,
														},
														File:   "task_per_line_test.flux",
														Source: "columnKey",
														Start: ast.Position{
															Column: 37,
															Line:   68,
														},
													},
												},
												Name: "columnKey",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 58,
															Line:   68,
														},
														File:   "task_per_line_test.flux",
														Source: "[\"_field\"]",
														Start: ast.Position{
															Column: 48,
															Line:   68,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 57,
																Line:   68,
															},
															File:   "task_per_line_test.flux",
															Source: "\"_field\"",
															Start: ast.Position{
																Column: 49,
																Line:   68,
															},
														},
													},
													Value: "_field",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   68,
													},
													File:   "task_per_line_test.flux",
													Source: "valueColumn: \"_value\"",
													Start: ast.Position{
														Column: 60,
														Line:   68,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   68,
														},
														File:   "task_per_line_test.flux",
														Source: "valueColumn",
														Start: ast.Position{
															Column: 60,
															Line:   68,
														},
													},
												},
												Name: "valueColumn",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 81,
															Line:   68,
														},
														File:   "task_per_line_test.flux",
														Source: "\"_value\"",
														Start: ast.Position{
															Column: 73,
															Line:   68,
														},
													},
												},
												Value: "_value",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   68,
											},
											File:   "task_per_line_test.flux",
											Source: "pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")",
											Start: ast.Position{
												Column: 12,
												Line:   68,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   68,
												},
												File:   "task_per_line_test.flux",
												Source: "pivot",
												Start: ast.Position{
													Column: 12,
													Line:   68,
												},
											},
										},
										Name: "pivot",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 81,
										Line:   69,
									},
									File:   "task_per_line_test.flux",
									Source: "table\n        |> range(start: 2018-10-02T17:55:11.520461Z)\n        |> filter(fn: (r) => r._measurement == \"records\" and r.taskID == \"02bac3c8f0f37000\")\n        |> pivot(rowKey: [\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\n        |> pivot(rowKey: [\"runID\"], columnKey: [\"status\"], valueColumn: \"_time\")",
									Start: ast.Position{
										Column: 12,
										Line:   65,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 80,
												Line:   69,
											},
											File:   "task_per_line_test.flux",
											Source: "rowKey: [\"runID\"], columnKey: [\"status\"], valueColumn: \"_time\"",
											Start: ast.Position{
												Column: 18,
												Line:   69,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 35,
													Line:   69,
												},
												File:   "task_per_line_test.flux",
												Source: "rowKey: [\"runID\"]",
												Start: ast.Position{
													Column: 18,
													Line:   69,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   69,
													},
													File:   "task_per_line_test.flux",
													Source: "rowKey",
													Start: ast.Position{
														Column: 18,
														Line:   69,
													},
												},
											},
											Name: "rowKey",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   69,
													},
													File:   "task_per_line_test.flux",
													Source: "[\"runID\"]",
													Start: ast.Position{
														Column: 26,
														Line:   69,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   69,
														},
														File:   "task_per_line_test.flux",
														Source: "\"runID\"",
														Start: ast.Position{
															Column: 27,
															Line:   69,
														},
													},
												},
												Value: "runID",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 58,
													Line:   69,
												},
												File:   "task_per_line_test.flux",
												Source: "columnKey: [\"status\"]",
												Start: ast.Position{
													Column: 37,
													Line:   69,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 46,
														Line:   69,
													},
													File:   "task_per_line_test.flux",
													Source: "columnKey",
													Start: ast.Position{
														Column: 37,
														Line:   69,
													},
												},
											},
											Name: "columnKey",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   69,
													},
													File:   "task_per_line_test.flux",
													Source: "[\"status\"]",
													Start: ast.Position{
														Column: 48,
														Line:   69,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 57,
															Line:   69,
														},
														File:   "task_per_line_test.flux",
														Source: "\"status\"",
														Start: ast.Position{
															Column: 49,
															Line:   69,
														},
													},
												},
												Value: "status",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 80,
													Line:   69,
												},
												File:   "task_per_line_test.flux",
												Source: "valueColumn: \"_time\"",
												Start: ast.Position{
													Column: 60,
													Line:   69,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 71,
														Line:   69,
													},
													File:   "task_per_line_test.flux",
													Source: "valueColumn",
													Start: ast.Position{
														Column: 60,
														Line:   69,
													},
												},
											},
											Name: "valueColumn",
										},
										Separator: nil,
										Value: &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 80,
														Line:   69,
													},
													File:   "task_per_line_test.flux",
													Source: "\"_time\"",
													Start: ast.Position{
														Column: 73,
														Line:   69,
													},
												},
											},
											Value: "_time",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 81,
											Line:   69,
										},
										File:   "task_per_line_test.flux",
										Source: "pivot(rowKey: [\"runID\"], columnKey: [\"status\"], valueColumn: \"_time\")",
										Start: ast.Position{
											Column: 12,
											Line:   69,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   69,
											},
											File:   "task_per_line_test.flux",
											Source: "pivot",
											Start: ast.Position{
												Column: 12,
												Line:   69,
											},
										},
									},
									Name: "pivot",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 10,
											Line:   80,
										},
										File:   "task_per_line_test.flux",
										Source: "tables: {main: main, supl: supl},\n        on: [\n            \"_start\",\n            \"_stop\",\n            \"orgID\",\n            \"taskID\",\n            \"runID\",\n            \"_measurement\",\n        ]",
										Start: ast.Position{
											Column: 9,
											Line:   72,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   72,
											},
											File:   "task_per_line_test.flux",
											Source: "tables: {main: main, supl: supl}",
											Start: ast.Position{
												Column: 9,
												Line:   72,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   72,
												},
												File:   "task_per_line_test.flux",
												Source: "tables",
												Start: ast.Position{
													Column: 9,
													Line:   72,
												},
											},
										},
										Name: "tables",
									},
									Separator: nil,
									Value: &ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   72,
												},
												File:   "task_per_line_test.flux",
												Source: "{main: main, supl: supl}",
												Start: ast.Position{
													Column: 17,
													Line:   72,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 28,
														Line:   72,
													},
													File:   "task_per_line_test.flux",
													Source: "main: main",
													Start: ast.Position{
														Column: 18,
														Line:   72,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 22,
															Line:   72,
														},
														File:   "task_per_line_test.flux",
														Source: "main",
														Start: ast.Position{
															Column: 18,
															Line:   72,
														},
													},
												},
												Name: "main",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 28,
															Line:   72,
														},
														File:   "task_per_line_test.flux",
														Source: "main",
														Start: ast.Position{
															Column: 24,
															Line:   72,
														},
													},
												},
												Name: "main",
											},
										}, &ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   72,
													},
													File:   "task_per_line_test.flux",
													Source: "supl: supl",
													Start: ast.Position{
														Column: 30,
														Line:   72,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 34,
															Line:   72,
														},
														File:   "task_per_line_test.flux",
														Source: "supl",
														Start: ast.Position{
															Column: 30,
															Line:   72,
														},
													},
												},
												Name: "supl",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 40,
															Line:   72,
														},
														File:   "task_per_line_test.flux",
														Source: "supl",
														Start: ast.Position{
															Column: 36,
															Line:   72,
														},
													},
												},
												Name: "supl",
											},
										}},
										Rbrace: nil,
										With:   nil,
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 10,
												Line:   80,
											},
											File:   "task_per_line_test.flux",
											Source: "on: [\n            \"_start\",\n            \"_stop\",\n            \"orgID\",\n            \"taskID\",\n            \"runID\",\n            \"_measurement\",\n        ]",
											Start: ast.Position{
												Column: 9,
												Line:   73,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 11,
													Line:   73,
												},
												File:   "task_per_line_test.flux",
												Source: "on",
												Start: ast.Position{
													Column: 9,
													Line:   73,
												},
											},
										},
										Name: "on",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 10,
													Line:   80,
												},
												File:   "task_per_line_test.flux",
												Source: "[\n            \"_start\",\n            \"_stop\",\n            \"orgID\",\n            \"taskID\",\n            \"runID\",\n            \"_measurement\",\n        ]",
												Start: ast.Position{
													Column: 13,
													Line:   73,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   74,
													},
													File:   "task_per_line_test.flux",
													Source: "\"_start\"",
													Start: ast.Position{
														Column: 13,
														Line:   74,
													},
												},
											},
											Value: "_start",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   75,
													},
													File:   "task_per_line_test.flux",
													Source: "\"_stop\"",
													Start: ast.Position{
														Column: 13,
														Line:   75,
													},
												},
											},
											Value: "_stop",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   76,
													},
													File:   "task_per_line_test.flux",
													Source: "\"orgID\"",
													Start: ast.Position{
														Column: 13,
														Line:   76,
													},
												},
											},
											Value: "orgID",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 21,
														Line:   77,
													},
													File:   "task_per_line_test.flux",
													Source: "\"taskID\"",
													Start: ast.Position{
														Column: 13,
														Line:   77,
													},
												},
											},
											Value: "taskID",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 20,
														Line:   78,
													},
													File:   "task_per_line_test.flux",
													Source: "\"runID\"",
													Start: ast.Position{
														Column: 13,
														Line:   78,
													},
												},
											},
											Value: "runID",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 27,
														Line:   79,
													},
													File:   "task_per_line_test.flux",
													Source: "\"_measurement\"",
													Start: ast.Position{
														Column: 13,
														Line:   79,
													},
												},
											},
											Value: "_measurement",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 6,
										Line:   81,
									},
									File:   "task_per_line_test.flux",
									Source: "join(\n        tables: {main: main, supl: supl},\n        on: [\n            \"_start\",\n            \"_stop\",\n            \"orgID\",\n            \"taskID\",\n            \"runID\",\n            \"_measurement\",\n        ],\n    )",
									Start: ast.Position{
										Column: 12,
										Line:   71,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   71,
										},
										File:   "task_per_line_test.flux",
										Source: "join",
										Start: ast.Position{
											Column: 12,
											Line:   71,
										},
									},
								},
								Name: "join",
							},
							Lparen: nil,
							Rparen: nil,
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 6,
									Line:   81,
								},
								File:   "task_per_line_test.flux",
								Source: "return join(\n        tables: {main: main, supl: supl},\n        on: [\n            \"_start\",\n            \"_stop\",\n            \"orgID\",\n            \"taskID\",\n            \"runID\",\n            \"_measurement\",\n        ],\n    )",
								Start: ast.Position{
									Column: 5,
									Line:   71,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   59,
							},
							File:   "task_per_line_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 7,
								Line:   59,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 12,
									Line:   59,
								},
								File:   "task_per_line_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 7,
									Line:   59,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   59,
							},
							File:   "task_per_line_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 13,
								Line:   59,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   84,
						},
						File:   "task_per_line_test.flux",
						Source: "task_per_line = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: fn})",
						Start: ast.Position{
							Column: 6,
							Line:   84,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   84,
							},
							File:   "task_per_line_test.flux",
							Source: "task_per_line",
							Start: ast.Position{
								Column: 6,
								Line:   84,
							},
						},
					},
					Name: "task_per_line",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   84,
							},
							File:   "task_per_line_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: fn})",
							Start: ast.Position{
								Column: 22,
								Line:   84,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   84,
								},
								File:   "task_per_line_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: fn})",
								Start: ast.Position{
									Column: 28,
									Line:   84,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   84,
									},
									File:   "task_per_line_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: fn}",
									Start: ast.Position{
										Column: 29,
										Line:   84,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   84,
										},
										File:   "task_per_line_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 30,
											Line:   84,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   84,
											},
											File:   "task_per_line_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 30,
												Line:   84,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   84,
												},
												File:   "task_per_line_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 57,
													Line:   84,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   84,
													},
													File:   "task_per_line_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 57,
														Line:   84,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   84,
														},
														File:   "task_per_line_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 57,
															Line:   84,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   84,
														},
														File:   "task_per_line_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 62,
															Line:   84,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   84,
											},
											File:   "task_per_line_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 37,
												Line:   84,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   84,
												},
												File:   "task_per_line_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 37,
													Line:   84,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   84,
													},
													File:   "task_per_line_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 37,
														Line:   84,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   84,
													},
													File:   "task_per_line_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 45,
														Line:   84,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   84,
										},
										File:   "task_per_line_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 71,
											Line:   84,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   84,
											},
											File:   "task_per_line_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 71,
												Line:   84,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 105,
													Line:   84,
												},
												File:   "task_per_line_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 93,
													Line:   84,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   84,
													},
													File:   "task_per_line_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 93,
														Line:   84,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   84,
														},
														File:   "task_per_line_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 93,
															Line:   84,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   84,
														},
														File:   "task_per_line_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 98,
															Line:   84,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   84,
											},
											File:   "task_per_line_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 77,
												Line:   84,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   84,
												},
												File:   "task_per_line_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 77,
													Line:   84,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   84,
													},
													File:   "task_per_line_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 77,
														Line:   84,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   84,
													},
													File:   "task_per_line_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 85,
														Line:   84,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   84,
										},
										File:   "task_per_line_test.flux",
										Source: "fn: fn",
										Start: ast.Position{
											Column: 108,
											Line:   84,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   84,
											},
											File:   "task_per_line_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 108,
												Line:   84,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   84,
											},
											File:   "task_per_line_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 112,
												Line:   84,
											},
										},
									},
									Name: "fn",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   84,
					},
					File:   "task_per_line_test.flux",
					Source: "test task_per_line = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: fn})",
					Start: ast.Position{
						Column: 1,
						Line:   84,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "task_per_line_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "task_per_line_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "task_per_line_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "task_per_line_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "task_per_line_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   40,
				},
				File:   "time_weighted_avg_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,0\n,,0,2018-05-22T19:53:10Z,_m,FF,2\n,,0,2018-05-22T19:53:20Z,_m,FF,4\n,,0,2018-05-22T19:53:30Z,_m,FF,6\n,,0,2018-05-22T19:53:40Z,_m,FF,8\n,,0,2018-05-22T19:53:50Z,_m,FF,10\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,0\n\"\noutData = \"\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,6\n,,1,_m,QQ,1\n,,2,_m,RR,0\n\"\ntwaFn = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> timeWeightedAvg(unit: 10s)\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest twa_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: twaFn})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "time_weighted_avg_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "time_weighted_avg_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "time_weighted_avg_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "time_weighted_avg_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "time_weighted_avg_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,0\n,,0,2018-05-22T19:53:10Z,_m,FF,2\n,,0,2018-05-22T19:53:20Z,_m,FF,4\n,,0,2018-05-22T19:53:30Z,_m,FF,6\n,,0,2018-05-22T19:53:40Z,_m,FF,8\n,,0,2018-05-22T19:53:50Z,_m,FF,10\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,0\n,,0,2018-05-22T19:53:10Z,_m,FF,2\n,,0,2018-05-22T19:53:20Z,_m,FF,4\n,,0,2018-05-22T19:53:30Z,_m,FF,6\n,,0,2018-05-22T19:53:40Z,_m,FF,8\n,,0,2018-05-22T19:53:50Z,_m,FF,10\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,0\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,double\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00Z,_m,FF,0\n,,0,2018-05-22T19:53:10Z,_m,FF,2\n,,0,2018-05-22T19:53:20Z,_m,FF,4\n,,0,2018-05-22T19:53:30Z,_m,FF,6\n,,0,2018-05-22T19:53:40Z,_m,FF,8\n,,0,2018-05-22T19:53:50Z,_m,FF,10\n,,1,2018-05-22T19:53:10Z,_m,QQ,1\n,,1,2018-05-22T19:53:20Z,_m,QQ,1\n,,1,2018-05-22T19:53:30Z,_m,QQ,1\n,,1,2018-05-22T19:53:40Z,_m,QQ,1\n,,2,2018-05-22T19:53:10Z,_m,RR,1\n,,2,2018-05-22T19:53:30Z,_m,RR,0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   34,
					},
					File:   "time_weighted_avg_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,6\n,,1,_m,QQ,1\n,,2,_m,RR,0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   34,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "\"\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,6\n,,1,_m,QQ,1\n,,2,_m,RR,0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,double\n#group,false,false,true,true,false\n#default,_result,,,,\n,result,table,_measurement,_field,_value\n,,0,_m,FF,6\n,,1,_m,QQ,1\n,,2,_m,RR,0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   38,
					},
					File:   "time_weighted_avg_test.flux",
					Source: "twaFn = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> timeWeightedAvg(unit: 10s)\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   35,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   35,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "twaFn",
						Start: ast.Position{
							Column: 1,
							Line:   35,
						},
					},
				},
				Name: "twaFn",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   38,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> timeWeightedAvg(unit: 10s)\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 9,
							Line:   35,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 28,
											Line:   35,
										},
										File:   "time_weighted_avg_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 23,
											Line:   35,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   36,
									},
									File:   "time_weighted_avg_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)",
									Start: ast.Position{
										Column: 23,
										Line:   35,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   36,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   36,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   36,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "start: 2018-05-22T19:53:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   36,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   36,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   36,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   36,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "2018-05-22T19:53:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   36,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   36,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "stop: 2018-05-22T19:54:00Z",
												Start: ast.Position{
													Column: 43,
													Line:   36,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   36,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "stop",
													Start: ast.Position{
														Column: 43,
														Line:   36,
													},
												},
											},
											Name: "stop",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   36,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "2018-05-22T19:54:00Z",
													Start: ast.Position{
														Column: 49,
														Line:   36,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:54:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   36,
										},
										File:   "time_weighted_avg_test.flux",
										Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   36,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   36,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   36,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 34,
									Line:   37,
								},
								File:   "time_weighted_avg_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> timeWeightedAvg(unit: 10s)",
								Start: ast.Position{
									Column: 23,
									Line:   35,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 33,
											Line:   37,
										},
										File:   "time_weighted_avg_test.flux",
										Source: "unit: 10s",
										Start: ast.Position{
											Column: 24,
											Line:   37,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 33,
												Line:   37,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "unit: 10s",
											Start: ast.Position{
												Column: 24,
												Line:   37,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   37,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "unit",
												Start: ast.Position{
													Column: 24,
													Line:   37,
												},
											},
										},
										Name: "unit",
									},
									Separator: nil,
									Value: &ast.DurationLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   37,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "10s",
												Start: ast.Position{
													Column: 30,
													Line:   37,
												},
											},
										},
										Values: []ast.Duration{ast.Duration{
											Magnitude: int64(10),
											Unit:      "s",
										}},
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 34,
										Line:   37,
									},
									File:   "time_weighted_avg_test.flux",
									Source: "timeWeightedAvg(unit: 10s)",
									Start: ast.Position{
										Column: 8,
										Line:   37,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   37,
										},
										File:   "time_weighted_avg_test.flux",
										Source: "timeWeightedAvg",
										Start: ast.Position{
											Column: 8,
											Line:   37,
										},
									},
								},
								Name: "timeWeightedAvg",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   38,
							},
							File:   "time_weighted_avg_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:54:00Z)\n    |> timeWeightedAvg(unit: 10s)\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 23,
								Line:   35,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   38,
									},
									File:   "time_weighted_avg_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   38,
										},
										File:   "time_weighted_avg_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   38,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   38,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   38,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   38,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   38,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   38,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   38,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   38,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   38,
								},
								File:   "time_weighted_avg_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   38,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   38,
									},
									File:   "time_weighted_avg_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   35,
							},
							File:   "time_weighted_avg_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   35,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   35,
								},
								File:   "time_weighted_avg_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   35,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   35,
							},
							File:   "time_weighted_avg_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   35,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   40,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "twa_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: twaFn})",
						Start: ast.Position{
							Column: 6,
							Line:   40,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   40,
							},
							File:   "time_weighted_avg_test.flux",
							Source: "twa_test",
							Start: ast.Position{
								Column: 6,
								Line:   40,
							},
						},
					},
					Name: "twa_test",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   40,
							},
							File:   "time_weighted_avg_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: twaFn})",
							Start: ast.Position{
								Column: 17,
								Line:   40,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   40,
								},
								File:   "time_weighted_avg_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: twaFn})",
								Start: ast.Position{
									Column: 23,
									Line:   40,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   40,
									},
									File:   "time_weighted_avg_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: twaFn}",
									Start: ast.Position{
										Column: 24,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 64,
											Line:   40,
										},
										File:   "time_weighted_avg_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 25,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 30,
												Line:   40,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 25,
												Line:   40,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   40,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 52,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   40,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 52,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 55,
															Line:   40,
														},
														File:   "time_weighted_avg_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 52,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 63,
															Line:   40,
														},
														File:   "time_weighted_avg_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 57,
															Line:   40,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 64,
												Line:   40,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 32,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   40,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 32,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   40,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 32,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   40,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 40,
														Line:   40,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 101,
											Line:   40,
										},
										File:   "time_weighted_avg_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 66,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   40,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 66,
												Line:   40,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 100,
													Line:   40,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 88,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 100,
														Line:   40,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 88,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 91,
															Line:   40,
														},
														File:   "time_weighted_avg_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 88,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 100,
															Line:   40,
														},
														File:   "time_weighted_avg_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 93,
															Line:   40,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   40,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 72,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 87,
													Line:   40,
												},
												File:   "time_weighted_avg_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 72,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 79,
														Line:   40,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 72,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 87,
														Line:   40,
													},
													File:   "time_weighted_avg_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 80,
														Line:   40,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   40,
										},
										File:   "time_weighted_avg_test.flux",
										Source: "fn: twaFn",
										Start: ast.Position{
											Column: 103,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   40,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 103,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   40,
											},
											File:   "time_weighted_avg_test.flux",
											Source: "twaFn",
											Start: ast.Position{
												Column: 107,
												Line:   40,
											},
										},
									},
									Name: "twaFn",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   40,
					},
					File:   "time_weighted_avg_test.flux",
					Source: "test twa_test = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: twaFn})",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "time_weighted_avg_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "time_weighted_avg_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "time_weighted_avg_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "time_weighted_avg_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 142,
					Line:   38,
				},
				File:   "timed_moving_average_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#group,false,false,true,true,true,true,true,true,true,true,false,false\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double,dateTime:RFC3339\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,device,fstype,host,path,_value,_time\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:10Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:20Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:30Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,33.333333333333336,2018-05-22T00:00:40Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,36.666666666666664,2018-05-22T00:00:50Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n\"\ntimed_moving_average = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> timedMovingAverage(every: 10s, period: 30s)\n\ntest _timed_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: timed_moving_average})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "timed_moving_average_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "timed_moving_average_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "timed_moving_average_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "timed_moving_average_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "timed_moving_average_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "timed_moving_average_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "timed_moving_average_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "timed_moving_average_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,30,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,40,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   33,
					},
					File:   "timed_moving_average_test.flux",
					Source: "outData = \"\n#group,false,false,true,true,true,true,true,true,true,true,false,false\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double,dateTime:RFC3339\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,device,fstype,host,path,_value,_time\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:10Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:20Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:30Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,33.333333333333336,2018-05-22T00:00:40Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,36.666666666666664,2018-05-22T00:00:50Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "timed_moving_average_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   33,
						},
						File:   "timed_moving_average_test.flux",
						Source: "\"\n#group,false,false,true,true,true,true,true,true,true,true,false,false\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double,dateTime:RFC3339\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,device,fstype,host,path,_value,_time\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:10Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:20Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:30Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,33.333333333333336,2018-05-22T00:00:40Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,36.666666666666664,2018-05-22T00:00:50Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#group,false,false,true,true,true,true,true,true,true,true,false,false\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,string,string,double,dateTime:RFC3339\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_field,_measurement,device,fstype,host,path,_value,_time\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:10Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:20Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,30,2018-05-22T00:00:30Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,33.333333333333336,2018-05-22T00:00:40Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,36.666666666666664,2018-05-22T00:00:50Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n,,0,2018-05-22T00:00:00Z,2018-05-22T00:01:00Z,used_percent,disk,disk1s1,apfs,host.local,/,40,2018-05-22T00:01:00Z\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 51,
						Line:   36,
					},
					File:   "timed_moving_average_test.flux",
					Source: "timed_moving_average = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> timedMovingAverage(every: 10s, period: 30s)",
					Start: ast.Position{
						Column: 1,
						Line:   34,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 21,
							Line:   34,
						},
						File:   "timed_moving_average_test.flux",
						Source: "timed_moving_average",
						Start: ast.Position{
							Column: 1,
							Line:   34,
						},
					},
				},
				Name: "timed_moving_average",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 51,
							Line:   36,
						},
						File:   "timed_moving_average_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> timedMovingAverage(every: 10s, period: 30s)",
						Start: ast.Position{
							Column: 24,
							Line:   34,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   34,
									},
									File:   "timed_moving_average_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 38,
										Line:   34,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   35,
								},
								File:   "timed_moving_average_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)",
								Start: ast.Position{
									Column: 38,
									Line:   34,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   35,
										},
										File:   "timed_moving_average_test.flux",
										Source: "start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   35,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   35,
											},
											File:   "timed_moving_average_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   35,
												},
												File:   "timed_moving_average_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   35,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   35,
												},
												File:   "timed_moving_average_test.flux",
												Source: "2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   35,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   35,
											},
											File:   "timed_moving_average_test.flux",
											Source: "stop: 2018-05-22T00:01:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   35,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   35,
												},
												File:   "timed_moving_average_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   35,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   35,
												},
												File:   "timed_moving_average_test.flux",
												Source: "2018-05-22T00:01:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   35,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:01:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   35,
									},
									File:   "timed_moving_average_test.flux",
									Source: "range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   35,
										},
										File:   "timed_moving_average_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   35,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 51,
								Line:   36,
							},
							File:   "timed_moving_average_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z, stop: 2018-05-22T00:01:00Z)\n    |> timedMovingAverage(every: 10s, period: 30s)",
							Start: ast.Position{
								Column: 38,
								Line:   34,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 50,
										Line:   36,
									},
									File:   "timed_moving_average_test.flux",
									Source: "every: 10s, period: 30s",
									Start: ast.Position{
										Column: 27,
										Line:   36,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   36,
										},
										File:   "timed_moving_average_test.flux",
										Source: "every: 10s",
										Start: ast.Position{
											Column: 27,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   36,
											},
											File:   "timed_moving_average_test.flux",
											Source: "every",
											Start: ast.Position{
												Column: 27,
												Line:   36,
											},
										},
									},
									Name: "every",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   36,
											},
											File:   "timed_moving_average_test.flux",
											Source: "10s",
											Start: ast.Position{
												Column: 34,
												Line:   36,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(10),
										Unit:      "s",
									}},
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   36,
										},
										File:   "timed_moving_average_test.flux",
										Source: "period: 30s",
										Start: ast.Position{
											Column: 39,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   36,
											},
											File:   "timed_moving_average_test.flux",
											Source: "period",
											Start: ast.Position{
												Column: 39,
												Line:   36,
											},
										},
									},
									Name: "period",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 50,
												Line:   36,
											},
											File:   "timed_moving_average_test.flux",
											Source: "30s",
											Start: ast.Position{
												Column: 47,
												Line:   36,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(30),
										Unit:      "s",
									}},
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 51,
									Line:   36,
								},
								File:   "timed_moving_average_test.flux",
								Source: "timedMovingAverage(every: 10s, period: 30s)",
								Start: ast.Position{
									Column: 8,
									Line:   36,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 26,
										Line:   36,
									},
									File:   "timed_moving_average_test.flux",
									Source: "timedMovingAverage",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Name: "timedMovingAverage",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   34,
							},
							File:   "timed_moving_average_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 25,
								Line:   34,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   34,
								},
								File:   "timed_moving_average_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 25,
									Line:   34,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   34,
							},
							File:   "timed_moving_average_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 31,
								Line:   34,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 142,
							Line:   38,
						},
						File:   "timed_moving_average_test.flux",
						Source: "_timed_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: timed_moving_average})",
						Start: ast.Position{
							Column: 6,
							Line:   38,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   38,
							},
							File:   "timed_moving_average_test.flux",
							Source: "_timed_moving_average",
							Start: ast.Position{
								Column: 6,
								Line:   38,
							},
						},
					},
					Name: "_timed_moving_average",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 142,
								Line:   38,
							},
							File:   "timed_moving_average_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: timed_moving_average})",
							Start: ast.Position{
								Column: 30,
								Line:   38,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 142,
									Line:   38,
								},
								File:   "timed_moving_average_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: timed_moving_average})",
								Start: ast.Position{
									Column: 36,
									Line:   38,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 141,
										Line:   38,
									},
									File:   "timed_moving_average_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: timed_moving_average}",
									Start: ast.Position{
										Column: 37,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 77,
											Line:   38,
										},
										File:   "timed_moving_average_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 38,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   38,
											},
											File:   "timed_moving_average_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 38,
												Line:   38,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 76,
													Line:   38,
												},
												File:   "timed_moving_average_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 65,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 76,
														Line:   38,
													},
													File:   "timed_moving_average_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 65,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   38,
														},
														File:   "timed_moving_average_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 65,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 76,
															Line:   38,
														},
														File:   "timed_moving_average_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 70,
															Line:   38,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 77,
												Line:   38,
											},
											File:   "timed_moving_average_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 45,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 64,
													Line:   38,
												},
												File:   "timed_moving_average_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 45,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 52,
														Line:   38,
													},
													File:   "timed_moving_average_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 45,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 64,
														Line:   38,
													},
													File:   "timed_moving_average_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 53,
														Line:   38,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   38,
										},
										File:   "timed_moving_average_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 79,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   38,
											},
											File:   "timed_moving_average_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 79,
												Line:   38,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 113,
													Line:   38,
												},
												File:   "timed_moving_average_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 101,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 113,
														Line:   38,
													},
													File:   "timed_moving_average_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 101,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 104,
															Line:   38,
														},
														File:   "timed_moving_average_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 101,
															Line:   38,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 113,
															Line:   38,
														},
														File:   "timed_moving_average_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 106,
															Line:   38,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   38,
											},
											File:   "timed_moving_average_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 85,
												Line:   38,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 100,
													Line:   38,
												},
												File:   "timed_moving_average_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 85,
													Line:   38,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   38,
													},
													File:   "timed_moving_average_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 85,
														Line:   38,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 100,
														Line:   38,
													},
													File:   "timed_moving_average_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 93,
														Line:   38,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 140,
											Line:   38,
										},
										File:   "timed_moving_average_test.flux",
										Source: "fn: timed_moving_average",
										Start: ast.Position{
											Column: 116,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 118,
												Line:   38,
											},
											File:   "timed_moving_average_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 116,
												Line:   38,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 140,
												Line:   38,
											},
											File:   "timed_moving_average_test.flux",
											Source: "timed_moving_average",
											Start: ast.Position{
												Column: 120,
												Line:   38,
											},
										},
									},
									Name: "timed_moving_average",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 142,
						Line:   38,
					},
					File:   "timed_moving_average_test.flux",
					Source: "test _timed_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: timed_moving_average})",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "timed_moving_average_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "timed_moving_average_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "timed_moving_average_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "timed_moving_average_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "timed_moving_average_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   26,
				},
				File:   "today_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T12:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,dateTime:RFC3339\n#group,false,false,true,true,false,true,true,false,true,true,false\n#default,_result,,,,,,,,,,\n,result,table,_field,_measurement,_time,_start,_stop,_value,cpu,host,today\n,,0,usage_guest,cpu,2018-05-22T19:53:26Z,2018-05-22T19:53:26Z,2030-01-01T12:00:00Z,0,cpu-total,host.local,2030-01-01T00:00:00Z\n\"\nt_today = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(fn: (r) => ({r with today: today()}))\n\ntest _today = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_today})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "today_test.flux",
						Source: "now = () => 2030-01-01T12:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "today_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "today_test.flux",
							Source: "() => 2030-01-01T12:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "today_test.flux",
								Source: "2030-01-01T12:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T12:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "today_test.flux",
					Source: "option now = () => 2030-01-01T12:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   14,
					},
					File:   "today_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "today_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   14,
						},
						File:   "today_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   21,
					},
					File:   "today_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,dateTime:RFC3339\n#group,false,false,true,true,false,true,true,false,true,true,false\n#default,_result,,,,,,,,,,\n,result,table,_field,_measurement,_time,_start,_stop,_value,cpu,host,today\n,,0,usage_guest,cpu,2018-05-22T19:53:26Z,2018-05-22T19:53:26Z,2030-01-01T12:00:00Z,0,cpu-total,host.local,2030-01-01T00:00:00Z\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   15,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   15,
						},
						File:   "today_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   15,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   21,
						},
						File:   "today_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,dateTime:RFC3339\n#group,false,false,true,true,false,true,true,false,true,true,false\n#default,_result,,,,,,,,,,\n,result,table,_field,_measurement,_time,_start,_stop,_value,cpu,host,today\n,,0,usage_guest,cpu,2018-05-22T19:53:26Z,2018-05-22T19:53:26Z,2030-01-01T12:00:00Z,0,cpu-total,host.local,2030-01-01T00:00:00Z\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   15,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,dateTime:RFC3339\n#group,false,false,true,true,false,true,true,false,true,true,false\n#default,_result,,,,,,,,,,\n,result,table,_field,_measurement,_time,_start,_stop,_value,cpu,host,today\n,,0,usage_guest,cpu,2018-05-22T19:53:26Z,2018-05-22T19:53:26Z,2030-01-01T12:00:00Z,0,cpu-total,host.local,2030-01-01T00:00:00Z\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 49,
						Line:   24,
					},
					File:   "today_test.flux",
					Source: "t_today = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(fn: (r) => ({r with today: today()}))",
					Start: ast.Position{
						Column: 1,
						Line:   22,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   22,
						},
						File:   "today_test.flux",
						Source: "t_today",
						Start: ast.Position{
							Column: 1,
							Line:   22,
						},
					},
				},
				Name: "t_today",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 49,
							Line:   24,
						},
						File:   "today_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(fn: (r) => ({r with today: today()}))",
						Start: ast.Position{
							Column: 11,
							Line:   22,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   22,
									},
									File:   "today_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 25,
										Line:   22,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   23,
								},
								File:   "today_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)",
								Start: ast.Position{
									Column: 25,
									Line:   22,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   23,
										},
										File:   "today_test.flux",
										Source: "start: 2018-05-22T19:53:26Z",
										Start: ast.Position{
											Column: 14,
											Line:   23,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   23,
											},
											File:   "today_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   23,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   23,
												},
												File:   "today_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   23,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   23,
												},
												File:   "today_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   23,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   23,
									},
									File:   "today_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z)",
									Start: ast.Position{
										Column: 8,
										Line:   23,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   23,
										},
										File:   "today_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   23,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 49,
								Line:   24,
							},
							File:   "today_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z)\n    |> map(fn: (r) => ({r with today: today()}))",
							Start: ast.Position{
								Column: 25,
								Line:   22,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   24,
									},
									File:   "today_test.flux",
									Source: "fn: (r) => ({r with today: today()})",
									Start: ast.Position{
										Column: 12,
										Line:   24,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 48,
											Line:   24,
										},
										File:   "today_test.flux",
										Source: "fn: (r) => ({r with today: today()})",
										Start: ast.Position{
											Column: 12,
											Line:   24,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   24,
											},
											File:   "today_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 12,
												Line:   24,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   24,
											},
											File:   "today_test.flux",
											Source: "(r) => ({r with today: today()})",
											Start: ast.Position{
												Column: 16,
												Line:   24,
											},
										},
									},
									Body: &ast.ParenExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 48,
													Line:   24,
												},
												File:   "today_test.flux",
												Source: "({r with today: today()})",
												Start: ast.Position{
													Column: 23,
													Line:   24,
												},
											},
										},
										Expression: &ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   24,
													},
													File:   "today_test.flux",
													Source: "{r with today: today()}",
													Start: ast.Position{
														Column: 24,
														Line:   24,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 46,
															Line:   24,
														},
														File:   "today_test.flux",
														Source: "today: today()",
														Start: ast.Position{
															Column: 32,
															Line:   24,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 37,
																Line:   24,
															},
															File:   "today_test.flux",
															Source: "today",
															Start: ast.Position{
																Column: 32,
																Line:   24,
															},
														},
													},
													Name: "today",
												},
												Separator: nil,
												Value: &ast.CallExpression{
													Arguments: nil,
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 46,
																Line:   24,
															},
															File:   "today_test.flux",
															Source: "today()",
															Start: ast.Position{
																Column: 39,
																Line:   24,
															},
														},
													},
													Callee: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 44,
																	Line:   24,
																},
																File:   "today_test.flux",
																Source: "today",
																Start: ast.Position{
																	Column: 39,
																	Line:   24,
																},
															},
														},
														Name: "today",
													},
													Lparen: nil,
													Rparen: nil,
												},
											}},
											Rbrace: nil,
											With: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 26,
															Line:   24,
														},
														File:   "today_test.flux",
														Source: "r",
														Start: ast.Position{
															Column: 25,
															Line:   24,
														},
													},
												},
												Name: "r",
											},
										},
										Lparen: nil,
										Rparen: nil,
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   24,
												},
												File:   "today_test.flux",
												Source: "r",
												Start: ast.Position{
													Column: 17,
													Line:   24,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   24,
													},
													File:   "today_test.flux",
													Source: "r",
													Start: ast.Position{
														Column: 17,
														Line:   24,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 49,
									Line:   24,
								},
								File:   "today_test.flux",
								Source: "map(fn: (r) => ({r with today: today()}))",
								Start: ast.Position{
									Column: 8,
									Line:   24,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   24,
									},
									File:   "today_test.flux",
									Source: "map",
									Start: ast.Position{
										Column: 8,
										Line:   24,
									},
								},
							},
							Name: "map",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   22,
							},
							File:   "today_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   22,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   22,
								},
								File:   "today_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   22,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   22,
							},
							File:   "today_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   22,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   26,
						},
						File:   "today_test.flux",
						Source: "_today = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_today})",
						Start: ast.Position{
							Column: 6,
							Line:   26,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   26,
							},
							File:   "today_test.flux",
							Source: "_today",
							Start: ast.Position{
								Column: 6,
								Line:   26,
							},
						},
					},
					Name: "_today",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   26,
							},
							File:   "today_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_today})",
							Start: ast.Position{
								Column: 15,
								Line:   26,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   26,
								},
								File:   "today_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_today})",
								Start: ast.Position{
									Column: 21,
									Line:   26,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   26,
									},
									File:   "today_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_today}",
									Start: ast.Position{
										Column: 22,
										Line:   26,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   26,
										},
										File:   "today_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   26,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   26,
											},
											File:   "today_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   26,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   26,
												},
												File:   "today_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   26,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   26,
													},
													File:   "today_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   26,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   26,
														},
														File:   "today_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   26,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   26,
														},
														File:   "today_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   26,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   26,
											},
											File:   "today_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   26,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   26,
												},
												File:   "today_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   26,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   26,
													},
													File:   "today_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   26,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   26,
													},
													File:   "today_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   26,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   26,
										},
										File:   "today_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   26,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   26,
											},
											File:   "today_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   26,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   26,
												},
												File:   "today_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   26,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   26,
													},
													File:   "today_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   26,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   26,
														},
														File:   "today_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   26,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   26,
														},
														File:   "today_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   26,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   26,
											},
											File:   "today_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   26,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   26,
												},
												File:   "today_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   26,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   26,
													},
													File:   "today_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   26,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   26,
													},
													File:   "today_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   26,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   26,
										},
										File:   "today_test.flux",
										Source: "fn: t_today",
										Start: ast.Position{
											Column: 101,
											Line:   26,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   26,
											},
											File:   "today_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   26,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   26,
											},
											File:   "today_test.flux",
											Source: "t_today",
											Start: ast.Position{
												Column: 105,
												Line:   26,
											},
										},
									},
									Name: "t_today",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   26,
					},
					File:   "today_test.flux",
					Source: "test _today = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_today})",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "today_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "today_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "today_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "today_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "today_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 110,
					Line:   40,
				},
				File:   "top_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:54:16Z,20000,used,aa\n,,0,2018-05-22T19:53:56Z,55000,used,aa\n,,0,2018-05-22T19:54:06Z,20000,used,aa\n,,0,2018-05-22T19:53:26Z,35000,used,aa\n,,0,2018-05-22T19:53:46Z,70000,used,aa\n,,0,2018-05-22T19:53:36Z,15000,used,aa\n,,1,2018-05-22T19:54:16Z,20,used_percent,aa\n,,1,2018-05-22T19:53:56Z,55,used_percent,aa\n,,1,2018-05-22T19:54:06Z,20,used_percent,aa\n,,1,2018-05-22T19:53:26Z,35,used_percent,aa\n,,1,2018-05-22T19:53:46Z,70,used_percent,aa\n,,1,2018-05-22T19:53:36Z,15,used_percent,aa\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,70000,used,aa\n,,0,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,55000,used,aa\n,,1,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,70,used_percent,aa\n,,1,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,55,used_percent,aa\n\"\nt_top = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)\n    |> top(n: 2)\n\ntest _top = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_top})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "top_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "top_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "top_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "top_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "top_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "top_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:54:16Z,20000,used,aa\n,,0,2018-05-22T19:53:56Z,55000,used,aa\n,,0,2018-05-22T19:54:06Z,20000,used,aa\n,,0,2018-05-22T19:53:26Z,35000,used,aa\n,,0,2018-05-22T19:53:46Z,70000,used,aa\n,,0,2018-05-22T19:53:36Z,15000,used,aa\n,,1,2018-05-22T19:54:16Z,20,used_percent,aa\n,,1,2018-05-22T19:53:56Z,55,used_percent,aa\n,,1,2018-05-22T19:54:06Z,20,used_percent,aa\n,,1,2018-05-22T19:53:26Z,35,used_percent,aa\n,,1,2018-05-22T19:53:46Z,70,used_percent,aa\n,,1,2018-05-22T19:53:36Z,15,used_percent,aa\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "top_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "top_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:54:16Z,20000,used,aa\n,,0,2018-05-22T19:53:56Z,55000,used,aa\n,,0,2018-05-22T19:54:06Z,20000,used,aa\n,,0,2018-05-22T19:53:26Z,35000,used,aa\n,,0,2018-05-22T19:53:46Z,70000,used,aa\n,,0,2018-05-22T19:53:36Z,15000,used,aa\n,,1,2018-05-22T19:54:16Z,20,used_percent,aa\n,,1,2018-05-22T19:53:56Z,55,used_percent,aa\n,,1,2018-05-22T19:54:06Z,20,used_percent,aa\n,,1,2018-05-22T19:53:26Z,35,used_percent,aa\n,,1,2018-05-22T19:53:46Z,70,used_percent,aa\n,,1,2018-05-22T19:53:36Z,15,used_percent,aa\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string\n#group,false,false,false,false,true,true\n#default,_result,,,,,\n,result,table,_time,_value,_field,_measurement\n,,0,2018-05-22T19:54:16Z,20000,used,aa\n,,0,2018-05-22T19:53:56Z,55000,used,aa\n,,0,2018-05-22T19:54:06Z,20000,used,aa\n,,0,2018-05-22T19:53:26Z,35000,used,aa\n,,0,2018-05-22T19:53:46Z,70000,used,aa\n,,0,2018-05-22T19:53:36Z,15000,used,aa\n,,1,2018-05-22T19:54:16Z,20,used_percent,aa\n,,1,2018-05-22T19:53:56Z,55,used_percent,aa\n,,1,2018-05-22T19:54:06Z,20,used_percent,aa\n,,1,2018-05-22T19:53:26Z,35,used_percent,aa\n,,1,2018-05-22T19:53:46Z,70,used_percent,aa\n,,1,2018-05-22T19:53:36Z,15,used_percent,aa\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   35,
					},
					File:   "top_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,70000,used,aa\n,,0,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,55000,used,aa\n,,1,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,70,used_percent,aa\n,,1,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,55,used_percent,aa\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "top_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   35,
						},
						File:   "top_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,70000,used,aa\n,,0,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,55000,used,aa\n,,1,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,70,used_percent,aa\n,,1,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,55,used_percent,aa\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,string\n#group,false,false,true,true,false,false,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement\n,,0,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,70000,used,aa\n,,0,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,55000,used,aa\n,,1,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:46Z,70,used_percent,aa\n,,1,2018-05-22T19:53:24.421470485Z,2030-01-01T00:00:00Z,2018-05-22T19:53:56Z,55,used_percent,aa\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   38,
					},
					File:   "top_test.flux",
					Source: "t_top = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)\n    |> top(n: 2)",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 6,
							Line:   36,
						},
						File:   "top_test.flux",
						Source: "t_top",
						Start: ast.Position{
							Column: 1,
							Line:   36,
						},
					},
				},
				Name: "t_top",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   38,
						},
						File:   "top_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)\n    |> top(n: 2)",
						Start: ast.Position{
							Column: 9,
							Line:   36,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   36,
									},
									File:   "top_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 23,
										Line:   36,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 52,
									Line:   37,
								},
								File:   "top_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)",
								Start: ast.Position{
									Column: 23,
									Line:   36,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 51,
											Line:   37,
										},
										File:   "top_test.flux",
										Source: "start: 2018-05-22T19:53:24.421470485Z",
										Start: ast.Position{
											Column: 14,
											Line:   37,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 51,
												Line:   37,
											},
											File:   "top_test.flux",
											Source: "start: 2018-05-22T19:53:24.421470485Z",
											Start: ast.Position{
												Column: 14,
												Line:   37,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   37,
												},
												File:   "top_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   37,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 51,
													Line:   37,
												},
												File:   "top_test.flux",
												Source: "2018-05-22T19:53:24.421470485Z",
												Start: ast.Position{
													Column: 21,
													Line:   37,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:24.421470485Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 52,
										Line:   37,
									},
									File:   "top_test.flux",
									Source: "range(start: 2018-05-22T19:53:24.421470485Z)",
									Start: ast.Position{
										Column: 8,
										Line:   37,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   37,
										},
										File:   "top_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   37,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 17,
								Line:   38,
							},
							File:   "top_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:24.421470485Z)\n    |> top(n: 2)",
							Start: ast.Position{
								Column: 23,
								Line:   36,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 16,
										Line:   38,
									},
									File:   "top_test.flux",
									Source: "n: 2",
									Start: ast.Position{
										Column: 12,
										Line:   38,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 16,
											Line:   38,
										},
										File:   "top_test.flux",
										Source: "n: 2",
										Start: ast.Position{
											Column: 12,
											Line:   38,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   38,
											},
											File:   "top_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 12,
												Line:   38,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   38,
											},
											File:   "top_test.flux",
											Source: "2",
											Start: ast.Position{
												Column: 15,
												Line:   38,
											},
										},
									},
									Value: int64(2),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   38,
								},
								File:   "top_test.flux",
								Source: "top(n: 2)",
								Start: ast.Position{
									Column: 8,
									Line:   38,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 11,
										Line:   38,
									},
									File:   "top_test.flux",
									Source: "top",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Name: "top",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   36,
							},
							File:   "top_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 10,
								Line:   36,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   36,
								},
								File:   "top_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 10,
									Line:   36,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   36,
							},
							File:   "top_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 16,
								Line:   36,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 110,
							Line:   40,
						},
						File:   "top_test.flux",
						Source: "_top = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_top})",
						Start: ast.Position{
							Column: 6,
							Line:   40,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 10,
								Line:   40,
							},
							File:   "top_test.flux",
							Source: "_top",
							Start: ast.Position{
								Column: 6,
								Line:   40,
							},
						},
					},
					Name: "_top",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 110,
								Line:   40,
							},
							File:   "top_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_top})",
							Start: ast.Position{
								Column: 13,
								Line:   40,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 110,
									Line:   40,
								},
								File:   "top_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_top})",
								Start: ast.Position{
									Column: 19,
									Line:   40,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 109,
										Line:   40,
									},
									File:   "top_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_top}",
									Start: ast.Position{
										Column: 20,
										Line:   40,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 60,
											Line:   40,
										},
										File:   "top_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 21,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   40,
											},
											File:   "top_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 21,
												Line:   40,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 59,
													Line:   40,
												},
												File:   "top_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 48,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 59,
														Line:   40,
													},
													File:   "top_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 48,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 51,
															Line:   40,
														},
														File:   "top_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 48,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   40,
														},
														File:   "top_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 53,
															Line:   40,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 60,
												Line:   40,
											},
											File:   "top_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 28,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   40,
												},
												File:   "top_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 28,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   40,
													},
													File:   "top_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 28,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   40,
													},
													File:   "top_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 36,
														Line:   40,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 97,
											Line:   40,
										},
										File:   "top_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 62,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   40,
											},
											File:   "top_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 62,
												Line:   40,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 96,
													Line:   40,
												},
												File:   "top_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 84,
													Line:   40,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 96,
														Line:   40,
													},
													File:   "top_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 84,
														Line:   40,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 87,
															Line:   40,
														},
														File:   "top_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 84,
															Line:   40,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   40,
														},
														File:   "top_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 89,
															Line:   40,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 97,
												Line:   40,
											},
											File:   "top_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 68,
												Line:   40,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   40,
												},
												File:   "top_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 68,
													Line:   40,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   40,
													},
													File:   "top_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 68,
														Line:   40,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   40,
													},
													File:   "top_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 76,
														Line:   40,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 108,
											Line:   40,
										},
										File:   "top_test.flux",
										Source: "fn: t_top",
										Start: ast.Position{
											Column: 99,
											Line:   40,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 101,
												Line:   40,
											},
											File:   "top_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 99,
												Line:   40,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 108,
												Line:   40,
											},
											File:   "top_test.flux",
											Source: "t_top",
											Start: ast.Position{
												Column: 103,
												Line:   40,
											},
										},
									},
									Name: "t_top",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 110,
						Line:   40,
					},
					File:   "top_test.flux",
					Source: "test _top = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_top})",
					Start: ast.Position{
						Column: 1,
						Line:   40,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "top_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "top_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "top_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "top_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "top_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 160,
					Line:   72,
				},
				File:   "triple_exponential_derivative_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:40Z,18.181818181818187,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:50Z,15.384615384615374,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:00Z,13.33333333333333,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:10Z,11.764705882352944,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:20Z,10.526315789473696,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:30Z,8.304761904761904,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:40Z,5.641927541329594,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:50Z,3.0392222148231784,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,0.716067574030288,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,-1.2848911076603242,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,-2.9999661985600445,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,-4.493448741755913,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,-5.836238000516913,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,-7.099092024379772,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,-8.352897627933453,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,-9.673028502435233,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,-11.147601363985949,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,-12.891818138458877,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,-15.074463280730022,used_percent,disk,disk1s1,apfs,host.local,/\n\"\ntriple_exponential_derivative = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> tripleExponentialDerivative(n: 4)\n\ntest _triple_exponential_derivative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_derivative})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "triple_exponential_derivative_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "triple_exponential_derivative_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "triple_exponential_derivative_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "triple_exponential_derivative_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   42,
					},
					File:   "triple_exponential_derivative_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   42,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   67,
					},
					File:   "triple_exponential_derivative_test.flux",
					Source: "outData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:40Z,18.181818181818187,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:50Z,15.384615384615374,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:00Z,13.33333333333333,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:10Z,11.764705882352944,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:20Z,10.526315789473696,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:30Z,8.304761904761904,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:40Z,5.641927541329594,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:50Z,3.0392222148231784,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,0.716067574030288,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,-1.2848911076603242,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,-2.9999661985600445,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,-4.493448741755913,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,-5.836238000516913,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,-7.099092024379772,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,-8.352897627933453,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,-9.673028502435233,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,-11.147601363985949,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,-12.891818138458877,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,-15.074463280730022,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   43,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   43,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   67,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "\"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:40Z,18.181818181818187,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:50Z,15.384615384615374,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:00Z,13.33333333333333,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:10Z,11.764705882352944,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:20Z,10.526315789473696,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:30Z,8.304761904761904,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:40Z,5.641927541329594,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:50Z,3.0392222148231784,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,0.716067574030288,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,-1.2848911076603242,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,-2.9999661985600445,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,-4.493448741755913,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,-5.836238000516913,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,-7.099092024379772,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,-8.352897627933453,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,-9.673028502435233,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,-11.147601363985949,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,-12.891818138458877,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,-15.074463280730022,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   43,
						},
					},
				},
				Value: "\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:40Z,18.181818181818187,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:50Z,15.384615384615374,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:00Z,13.33333333333333,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:10Z,11.764705882352944,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:20Z,10.526315789473696,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:30Z,8.304761904761904,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:40Z,5.641927541329594,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:50Z,3.0392222148231784,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,0.716067574030288,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,-1.2848911076603242,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,-2.9999661985600445,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,-4.493448741755913,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,-5.836238000516913,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,-7.099092024379772,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,-8.352897627933453,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,-9.673028502435233,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,-11.147601363985949,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,-12.891818138458877,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,-15.074463280730022,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 41,
						Line:   70,
					},
					File:   "triple_exponential_derivative_test.flux",
					Source: "triple_exponential_derivative = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> tripleExponentialDerivative(n: 4)",
					Start: ast.Position{
						Column: 1,
						Line:   68,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 30,
							Line:   68,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "triple_exponential_derivative",
						Start: ast.Position{
							Column: 1,
							Line:   68,
						},
					},
				},
				Name: "triple_exponential_derivative",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 41,
							Line:   70,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> tripleExponentialDerivative(n: 4)",
						Start: ast.Position{
							Column: 33,
							Line:   68,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 52,
										Line:   68,
									},
									File:   "triple_exponential_derivative_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 47,
										Line:   68,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   69,
								},
								File:   "triple_exponential_derivative_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
								Start: ast.Position{
									Column: 47,
									Line:   68,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   69,
										},
										File:   "triple_exponential_derivative_test.flux",
										Source: "start: 2018-05-22T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   69,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   69,
											},
											File:   "triple_exponential_derivative_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   69,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   69,
												},
												File:   "triple_exponential_derivative_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   69,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   69,
												},
												File:   "triple_exponential_derivative_test.flux",
												Source: "2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   69,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   69,
									},
									File:   "triple_exponential_derivative_test.flux",
									Source: "range(start: 2018-05-22T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   69,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   69,
										},
										File:   "triple_exponential_derivative_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   69,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 41,
								Line:   70,
							},
							File:   "triple_exponential_derivative_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> tripleExponentialDerivative(n: 4)",
							Start: ast.Position{
								Column: 47,
								Line:   68,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 40,
										Line:   70,
									},
									File:   "triple_exponential_derivative_test.flux",
									Source: "n: 4",
									Start: ast.Position{
										Column: 36,
										Line:   70,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   70,
										},
										File:   "triple_exponential_derivative_test.flux",
										Source: "n: 4",
										Start: ast.Position{
											Column: 36,
											Line:   70,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   70,
											},
											File:   "triple_exponential_derivative_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 36,
												Line:   70,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   70,
											},
											File:   "triple_exponential_derivative_test.flux",
											Source: "4",
											Start: ast.Position{
												Column: 39,
												Line:   70,
											},
										},
									},
									Value: int64(4),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   70,
								},
								File:   "triple_exponential_derivative_test.flux",
								Source: "tripleExponentialDerivative(n: 4)",
								Start: ast.Position{
									Column: 8,
									Line:   70,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 35,
										Line:   70,
									},
									File:   "triple_exponential_derivative_test.flux",
									Source: "tripleExponentialDerivative",
									Start: ast.Position{
										Column: 8,
										Line:   70,
									},
								},
							},
							Name: "tripleExponentialDerivative",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   68,
							},
							File:   "triple_exponential_derivative_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 34,
								Line:   68,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   68,
								},
								File:   "triple_exponential_derivative_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 34,
									Line:   68,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   68,
							},
							File:   "triple_exponential_derivative_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 40,
								Line:   68,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 160,
							Line:   72,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "_triple_exponential_derivative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_derivative})",
						Start: ast.Position{
							Column: 6,
							Line:   72,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   72,
							},
							File:   "triple_exponential_derivative_test.flux",
							Source: "_triple_exponential_derivative",
							Start: ast.Position{
								Column: 6,
								Line:   72,
							},
						},
					},
					Name: "_triple_exponential_derivative",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 160,
								Line:   72,
							},
							File:   "triple_exponential_derivative_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_derivative})",
							Start: ast.Position{
								Column: 39,
								Line:   72,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 160,
									Line:   72,
								},
								File:   "triple_exponential_derivative_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_derivative})",
								Start: ast.Position{
									Column: 45,
									Line:   72,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 159,
										Line:   72,
									},
									File:   "triple_exponential_derivative_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_derivative}",
									Start: ast.Position{
										Column: 46,
										Line:   72,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 86,
											Line:   72,
										},
										File:   "triple_exponential_derivative_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 47,
											Line:   72,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   72,
											},
											File:   "triple_exponential_derivative_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 47,
												Line:   72,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   72,
												},
												File:   "triple_exponential_derivative_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 74,
													Line:   72,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   72,
													},
													File:   "triple_exponential_derivative_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 74,
														Line:   72,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 77,
															Line:   72,
														},
														File:   "triple_exponential_derivative_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 74,
															Line:   72,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 85,
															Line:   72,
														},
														File:   "triple_exponential_derivative_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 79,
															Line:   72,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 86,
												Line:   72,
											},
											File:   "triple_exponential_derivative_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 54,
												Line:   72,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 73,
													Line:   72,
												},
												File:   "triple_exponential_derivative_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 54,
													Line:   72,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   72,
													},
													File:   "triple_exponential_derivative_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 54,
														Line:   72,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   72,
													},
													File:   "triple_exponential_derivative_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 62,
														Line:   72,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 123,
											Line:   72,
										},
										File:   "triple_exponential_derivative_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 88,
											Line:   72,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 92,
												Line:   72,
											},
											File:   "triple_exponential_derivative_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 88,
												Line:   72,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 122,
													Line:   72,
												},
												File:   "triple_exponential_derivative_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 110,
													Line:   72,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 122,
														Line:   72,
													},
													File:   "triple_exponential_derivative_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 110,
														Line:   72,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 113,
															Line:   72,
														},
														File:   "triple_exponential_derivative_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 110,
															Line:   72,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 122,
															Line:   72,
														},
														File:   "triple_exponential_derivative_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 115,
															Line:   72,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   72,
											},
											File:   "triple_exponential_derivative_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 94,
												Line:   72,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 109,
													Line:   72,
												},
												File:   "triple_exponential_derivative_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 94,
													Line:   72,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 101,
														Line:   72,
													},
													File:   "triple_exponential_derivative_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 94,
														Line:   72,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 109,
														Line:   72,
													},
													File:   "triple_exponential_derivative_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 102,
														Line:   72,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 158,
											Line:   72,
										},
										File:   "triple_exponential_derivative_test.flux",
										Source: "fn: triple_exponential_derivative",
										Start: ast.Position{
											Column: 125,
											Line:   72,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 127,
												Line:   72,
											},
											File:   "triple_exponential_derivative_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 125,
												Line:   72,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 158,
												Line:   72,
											},
											File:   "triple_exponential_derivative_test.flux",
											Source: "triple_exponential_derivative",
											Start: ast.Position{
												Column: 129,
												Line:   72,
											},
										},
									},
									Name: "triple_exponential_derivative",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 160,
						Line:   72,
					},
					File:   "triple_exponential_derivative_test.flux",
					Source: "test _triple_exponential_derivative = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_derivative})",
					Start: ast.Position{
						Column: 1,
						Line:   72,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "triple_exponential_derivative_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "triple_exponential_derivative_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "triple_exponential_derivative_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "triple_exponential_derivative_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 168,
					Line:   73,
				},
				File:   "triple_exponential_moving_average_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"\noutData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:30Z,14.431999999999995,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:40Z,13.345599999999994,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:50Z,12.155520000000006,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,9.906687999999997,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,8.865630719999995,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,7.8589122560000035,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,6.871005491200005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,5.891160883200005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,4.912928706560004,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,3.9329551040511994,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,2.9498469349785585,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,1.96332557120307,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,0.9736696408637426,used_percent,disk,disk1s1,apfs,host.local,/\n\"\ntriple_exponential_moving_average = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> tripleEMA(n: 4)\n\ntest _triple_exponential_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_moving_average})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "triple_exponential_moving_average_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "triple_exponential_moving_average_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "triple_exponential_moving_average_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "triple_exponential_moving_average_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   42,
					},
					File:   "triple_exponential_moving_average_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   42,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string,string,string\n#group,false,false,false,false,true,true,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:10Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:30Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:40Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:00Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:10Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:30Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:40Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:02:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:10Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:20Z,9,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:30Z,8,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:40Z,7,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:03:50Z,6,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:00Z,5,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:10Z,4,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:20Z,3,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:30Z,2,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:04:40Z,1,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   68,
					},
					File:   "triple_exponential_moving_average_test.flux",
					Source: "outData = \"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:30Z,14.431999999999995,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:40Z,13.345599999999994,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:50Z,12.155520000000006,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,9.906687999999997,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,8.865630719999995,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,7.8589122560000035,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,6.871005491200005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,5.891160883200005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,4.912928706560004,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,3.9329551040511994,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,2.9498469349785585,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,1.96332557120307,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,0.9736696408637426,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   43,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   43,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   68,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "\"\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:30Z,14.431999999999995,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:40Z,13.345599999999994,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:50Z,12.155520000000006,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,9.906687999999997,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,8.865630719999995,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,7.8589122560000035,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,6.871005491200005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,5.891160883200005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,4.912928706560004,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,3.9329551040511994,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,2.9498469349785585,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,1.96332557120307,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,0.9736696408637426,used_percent,disk,disk1s1,apfs,host.local,/\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   43,
						},
					},
				},
				Value: "\n#group,false,false,true,true,false,false,true,true,true,true,true,true\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string,string,string\n#default,_result,,,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,device,fstype,host,path\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:30Z,10,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:40Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:01:50Z,12,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:00Z,13,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:10Z,14,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:20Z,15,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:30Z,14.431999999999995,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:40Z,13.345599999999994,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:02:50Z,12.155520000000006,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:00Z,11,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:10Z,9.906687999999997,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:20Z,8.865630719999995,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:30Z,7.8589122560000035,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:40Z,6.871005491200005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:03:50Z,5.891160883200005,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:00Z,4.912928706560004,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:10Z,3.9329551040511994,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:20Z,2.9498469349785585,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:30Z,1.96332557120307,used_percent,disk,disk1s1,apfs,host.local,/\n,,0,2018-05-22T00:00:00Z,2030-01-01T00:00:00.000000000Z,2018-05-22T00:04:40Z,0.9736696408637426,used_percent,disk,disk1s1,apfs,host.local,/\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 23,
						Line:   71,
					},
					File:   "triple_exponential_moving_average_test.flux",
					Source: "triple_exponential_moving_average = (table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> tripleEMA(n: 4)",
					Start: ast.Position{
						Column: 1,
						Line:   69,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 34,
							Line:   69,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "triple_exponential_moving_average",
						Start: ast.Position{
							Column: 1,
							Line:   69,
						},
					},
				},
				Name: "triple_exponential_moving_average",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 23,
							Line:   71,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> tripleEMA(n: 4)",
						Start: ast.Position{
							Column: 37,
							Line:   69,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 56,
										Line:   69,
									},
									File:   "triple_exponential_moving_average_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 51,
										Line:   69,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   70,
								},
								File:   "triple_exponential_moving_average_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)",
								Start: ast.Position{
									Column: 51,
									Line:   69,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   70,
										},
										File:   "triple_exponential_moving_average_test.flux",
										Source: "start: 2018-05-22T00:00:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   70,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   70,
											},
											File:   "triple_exponential_moving_average_test.flux",
											Source: "start: 2018-05-22T00:00:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   70,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   70,
												},
												File:   "triple_exponential_moving_average_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   70,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   70,
												},
												File:   "triple_exponential_moving_average_test.flux",
												Source: "2018-05-22T00:00:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   70,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T00:00:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   70,
									},
									File:   "triple_exponential_moving_average_test.flux",
									Source: "range(start: 2018-05-22T00:00:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   70,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   70,
										},
										File:   "triple_exponential_moving_average_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   70,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 23,
								Line:   71,
							},
							File:   "triple_exponential_moving_average_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T00:00:00Z)\n    |> tripleEMA(n: 4)",
							Start: ast.Position{
								Column: 51,
								Line:   69,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 22,
										Line:   71,
									},
									File:   "triple_exponential_moving_average_test.flux",
									Source: "n: 4",
									Start: ast.Position{
										Column: 18,
										Line:   71,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 22,
											Line:   71,
										},
										File:   "triple_exponential_moving_average_test.flux",
										Source: "n: 4",
										Start: ast.Position{
											Column: 18,
											Line:   71,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   71,
											},
											File:   "triple_exponential_moving_average_test.flux",
											Source: "n",
											Start: ast.Position{
												Column: 18,
												Line:   71,
											},
										},
									},
									Name: "n",
								},
								Separator: nil,
								Value: &ast.IntegerLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 22,
												Line:   71,
											},
											File:   "triple_exponential_moving_average_test.flux",
											Source: "4",
											Start: ast.Position{
												Column: 21,
												Line:   71,
											},
										},
									},
									Value: int64(4),
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 23,
									Line:   71,
								},
								File:   "triple_exponential_moving_average_test.flux",
								Source: "tripleEMA(n: 4)",
								Start: ast.Position{
									Column: 8,
									Line:   71,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   71,
									},
									File:   "triple_exponential_moving_average_test.flux",
									Source: "tripleEMA",
									Start: ast.Position{
										Column: 8,
										Line:   71,
									},
								},
							},
							Name: "tripleEMA",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 46,
								Line:   69,
							},
							File:   "triple_exponential_moving_average_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 38,
								Line:   69,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 43,
									Line:   69,
								},
								File:   "triple_exponential_moving_average_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 38,
									Line:   69,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 46,
								Line:   69,
							},
							File:   "triple_exponential_moving_average_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 44,
								Line:   69,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 168,
							Line:   73,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "_triple_exponential_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_moving_average})",
						Start: ast.Position{
							Column: 6,
							Line:   73,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   73,
							},
							File:   "triple_exponential_moving_average_test.flux",
							Source: "_triple_exponential_moving_average",
							Start: ast.Position{
								Column: 6,
								Line:   73,
							},
						},
					},
					Name: "_triple_exponential_moving_average",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 168,
								Line:   73,
							},
							File:   "triple_exponential_moving_average_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_moving_average})",
							Start: ast.Position{
								Column: 43,
								Line:   73,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 168,
									Line:   73,
								},
								File:   "triple_exponential_moving_average_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_moving_average})",
								Start: ast.Position{
									Column: 49,
									Line:   73,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 167,
										Line:   73,
									},
									File:   "triple_exponential_moving_average_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_moving_average}",
									Start: ast.Position{
										Column: 50,
										Line:   73,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 90,
											Line:   73,
										},
										File:   "triple_exponential_moving_average_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 51,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 56,
												Line:   73,
											},
											File:   "triple_exponential_moving_average_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 51,
												Line:   73,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   73,
												},
												File:   "triple_exponential_moving_average_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 78,
													Line:   73,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   73,
													},
													File:   "triple_exponential_moving_average_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 78,
														Line:   73,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 81,
															Line:   73,
														},
														File:   "triple_exponential_moving_average_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 78,
															Line:   73,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   73,
														},
														File:   "triple_exponential_moving_average_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 83,
															Line:   73,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 90,
												Line:   73,
											},
											File:   "triple_exponential_moving_average_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 58,
												Line:   73,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 77,
													Line:   73,
												},
												File:   "triple_exponential_moving_average_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 58,
													Line:   73,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   73,
													},
													File:   "triple_exponential_moving_average_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 58,
														Line:   73,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   73,
													},
													File:   "triple_exponential_moving_average_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 66,
														Line:   73,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 127,
											Line:   73,
										},
										File:   "triple_exponential_moving_average_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 92,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 96,
												Line:   73,
											},
											File:   "triple_exponential_moving_average_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 92,
												Line:   73,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 126,
													Line:   73,
												},
												File:   "triple_exponential_moving_average_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 114,
													Line:   73,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 126,
														Line:   73,
													},
													File:   "triple_exponential_moving_average_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 114,
														Line:   73,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 117,
															Line:   73,
														},
														File:   "triple_exponential_moving_average_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 114,
															Line:   73,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 126,
															Line:   73,
														},
														File:   "triple_exponential_moving_average_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 119,
															Line:   73,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 127,
												Line:   73,
											},
											File:   "triple_exponential_moving_average_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 98,
												Line:   73,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 113,
													Line:   73,
												},
												File:   "triple_exponential_moving_average_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 98,
													Line:   73,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   73,
													},
													File:   "triple_exponential_moving_average_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 98,
														Line:   73,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 113,
														Line:   73,
													},
													File:   "triple_exponential_moving_average_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 106,
														Line:   73,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 166,
											Line:   73,
										},
										File:   "triple_exponential_moving_average_test.flux",
										Source: "fn: triple_exponential_moving_average",
										Start: ast.Position{
											Column: 129,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 131,
												Line:   73,
											},
											File:   "triple_exponential_moving_average_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 129,
												Line:   73,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 166,
												Line:   73,
											},
											File:   "triple_exponential_moving_average_test.flux",
											Source: "triple_exponential_moving_average",
											Start: ast.Position{
												Column: 133,
												Line:   73,
											},
										},
									},
									Name: "triple_exponential_moving_average",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 168,
						Line:   73,
					},
					File:   "triple_exponential_moving_average_test.flux",
					Source: "test _triple_exponential_moving_average = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: triple_exponential_moving_average})",
					Start: ast.Position{
						Column: 1,
						Line:   73,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "triple_exponential_moving_average_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "triple_exponential_moving_average_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "triple_exponential_moving_average_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "triple_exponential_moving_average_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 128,
					Line:   215,
				},
				File:   "union_heterogeneous_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\r\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\r\n,,2,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:56Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:54:06Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:54:16Z,3929,io_time,diskio,host.local,disk3\r\n,,3,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,4,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,5,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,6,2018-05-22T19:53:26Z,228569833472,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:36Z,228577058816,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:46Z,228583690240,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n,,7,2018-05-22T19:53:26Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:36Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:46Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,8,2018-05-22T19:53:26Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:36Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:46Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,9,2018-05-22T19:53:26Z,3455708,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:36Z,3455784,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:46Z,3455954,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:56Z,3456031,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:54:06Z,3456184,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:54:16Z,3456390,read_time,diskio,host.local,disk0\r\n,,10,2018-05-22T19:53:26Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:36Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:46Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:56Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:54:06Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:54:16Z,648,read_time,diskio,host.local,disk2\r\n,,11,2018-05-22T19:53:26Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:36Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:46Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:56Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:54:06Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:54:16Z,3929,read_time,diskio,host.local,disk3\r\n,,12,2018-05-22T19:53:26Z,6129420,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:36Z,6129483,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:46Z,6129801,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:56Z,6129864,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:54:06Z,6130176,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:54:16Z,6130461,reads,diskio,host.local,disk0\r\n,,13,2018-05-22T19:53:26Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:36Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:46Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:56Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:54:06Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:54:16Z,729,reads,diskio,host.local,disk2\r\n,,14,2018-05-22T19:53:26Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:36Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:46Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:56Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:54:06Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:54:16Z,100,reads,diskio,host.local,disk3\r\n,,15,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,16,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,17,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,18,2018-05-22T19:53:26Z,373674287104,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:36Z,373675814912,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:46Z,373676670976,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:56Z,373676830720,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:54:06Z,373677928448,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:54:16Z,373684617216,write_bytes,diskio,host.local,disk0\r\n,,19,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk2\r\n,,20,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk3\r\n,,21,2018-05-22T19:53:26Z,11748980,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:36Z,11749110,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:46Z,11749148,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:56Z,11749195,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:54:06Z,11749315,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:54:16Z,11749365,write_time,diskio,host.local,disk0\r\n,,22,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk2\r\n,,23,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk3\r\n,,24,2018-05-22T19:53:26Z,12385052,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:36Z,12385245,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:46Z,12385303,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:56Z,12385330,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:54:06Z,12385531,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:54:16Z,12385646,writes,diskio,host.local,disk0\r\n,,25,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk2\r\n,,26,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk3\r\n\"\noutData = \"\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,false,false,true,false\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,0,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n\"\nt_union = (table=<-) => {\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\", \"name\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return union(tables: [t1, t2]) |> sort(columns: [\"_time\", \"_field\", \"_value\"])\n}\n\ntest _union_heterogeneous = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "union_heterogeneous_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "union_heterogeneous_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "union_heterogeneous_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "union_heterogeneous_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   175,
					},
					File:   "union_heterogeneous_test.flux",
					Source: "inData = \"\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\r\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\r\n,,2,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:56Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:54:06Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:54:16Z,3929,io_time,diskio,host.local,disk3\r\n,,3,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,4,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,5,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,6,2018-05-22T19:53:26Z,228569833472,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:36Z,228577058816,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:46Z,228583690240,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n,,7,2018-05-22T19:53:26Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:36Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:46Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,8,2018-05-22T19:53:26Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:36Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:46Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,9,2018-05-22T19:53:26Z,3455708,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:36Z,3455784,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:46Z,3455954,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:56Z,3456031,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:54:06Z,3456184,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:54:16Z,3456390,read_time,diskio,host.local,disk0\r\n,,10,2018-05-22T19:53:26Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:36Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:46Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:56Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:54:06Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:54:16Z,648,read_time,diskio,host.local,disk2\r\n,,11,2018-05-22T19:53:26Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:36Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:46Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:56Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:54:06Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:54:16Z,3929,read_time,diskio,host.local,disk3\r\n,,12,2018-05-22T19:53:26Z,6129420,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:36Z,6129483,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:46Z,6129801,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:56Z,6129864,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:54:06Z,6130176,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:54:16Z,6130461,reads,diskio,host.local,disk0\r\n,,13,2018-05-22T19:53:26Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:36Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:46Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:56Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:54:06Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:54:16Z,729,reads,diskio,host.local,disk2\r\n,,14,2018-05-22T19:53:26Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:36Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:46Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:56Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:54:06Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:54:16Z,100,reads,diskio,host.local,disk3\r\n,,15,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,16,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,17,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,18,2018-05-22T19:53:26Z,373674287104,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:36Z,373675814912,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:46Z,373676670976,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:56Z,373676830720,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:54:06Z,373677928448,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:54:16Z,373684617216,write_bytes,diskio,host.local,disk0\r\n,,19,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk2\r\n,,20,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk3\r\n,,21,2018-05-22T19:53:26Z,11748980,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:36Z,11749110,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:46Z,11749148,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:56Z,11749195,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:54:06Z,11749315,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:54:16Z,11749365,write_time,diskio,host.local,disk0\r\n,,22,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk2\r\n,,23,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk3\r\n,,24,2018-05-22T19:53:26Z,12385052,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:36Z,12385245,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:46Z,12385303,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:56Z,12385330,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:54:06Z,12385531,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:54:16Z,12385646,writes,diskio,host.local,disk0\r\n,,25,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk2\r\n,,26,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk3\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   175,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\r\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\r\n,,2,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:56Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:54:06Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:54:16Z,3929,io_time,diskio,host.local,disk3\r\n,,3,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,4,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,5,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,6,2018-05-22T19:53:26Z,228569833472,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:36Z,228577058816,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:46Z,228583690240,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n,,7,2018-05-22T19:53:26Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:36Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:46Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,8,2018-05-22T19:53:26Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:36Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:46Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,9,2018-05-22T19:53:26Z,3455708,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:36Z,3455784,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:46Z,3455954,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:56Z,3456031,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:54:06Z,3456184,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:54:16Z,3456390,read_time,diskio,host.local,disk0\r\n,,10,2018-05-22T19:53:26Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:36Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:46Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:56Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:54:06Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:54:16Z,648,read_time,diskio,host.local,disk2\r\n,,11,2018-05-22T19:53:26Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:36Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:46Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:56Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:54:06Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:54:16Z,3929,read_time,diskio,host.local,disk3\r\n,,12,2018-05-22T19:53:26Z,6129420,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:36Z,6129483,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:46Z,6129801,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:56Z,6129864,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:54:06Z,6130176,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:54:16Z,6130461,reads,diskio,host.local,disk0\r\n,,13,2018-05-22T19:53:26Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:36Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:46Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:56Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:54:06Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:54:16Z,729,reads,diskio,host.local,disk2\r\n,,14,2018-05-22T19:53:26Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:36Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:46Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:56Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:54:06Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:54:16Z,100,reads,diskio,host.local,disk3\r\n,,15,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,16,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,17,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,18,2018-05-22T19:53:26Z,373674287104,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:36Z,373675814912,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:46Z,373676670976,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:56Z,373676830720,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:54:06Z,373677928448,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:54:16Z,373684617216,write_bytes,diskio,host.local,disk0\r\n,,19,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk2\r\n,,20,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk3\r\n,,21,2018-05-22T19:53:26Z,11748980,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:36Z,11749110,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:46Z,11749148,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:56Z,11749195,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:54:06Z,11749315,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:54:16Z,11749365,write_time,diskio,host.local,disk0\r\n,,22,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk2\r\n,,23,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk3\r\n,,24,2018-05-22T19:53:26Z,12385052,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:36Z,12385245,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:46Z,12385303,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:56Z,12385330,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:54:06Z,12385531,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:54:16Z,12385646,writes,diskio,host.local,disk0\r\n,,25,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk2\r\n,,26,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk3\r\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,true,true,true,true\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\r\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\r\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\r\n,,2,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:53:56Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:54:06Z,3929,io_time,diskio,host.local,disk3\r\n,,2,2018-05-22T19:54:16Z,3929,io_time,diskio,host.local,disk3\r\n,,3,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,3,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk0\r\n,,4,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,4,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk2\r\n,,5,2018-05-22T19:53:26Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:36Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:46Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:53:56Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:54:06Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,5,2018-05-22T19:54:16Z,0,iops_in_progress,diskio,host.local,disk3\r\n,,6,2018-05-22T19:53:26Z,228569833472,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:36Z,228577058816,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:46Z,228583690240,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,6,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n,,7,2018-05-22T19:53:26Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:36Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:46Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,7,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,8,2018-05-22T19:53:26Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:36Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:46Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,8,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,9,2018-05-22T19:53:26Z,3455708,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:36Z,3455784,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:46Z,3455954,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:53:56Z,3456031,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:54:06Z,3456184,read_time,diskio,host.local,disk0\r\n,,9,2018-05-22T19:54:16Z,3456390,read_time,diskio,host.local,disk0\r\n,,10,2018-05-22T19:53:26Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:36Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:46Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:53:56Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:54:06Z,648,read_time,diskio,host.local,disk2\r\n,,10,2018-05-22T19:54:16Z,648,read_time,diskio,host.local,disk2\r\n,,11,2018-05-22T19:53:26Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:36Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:46Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:53:56Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:54:06Z,3929,read_time,diskio,host.local,disk3\r\n,,11,2018-05-22T19:54:16Z,3929,read_time,diskio,host.local,disk3\r\n,,12,2018-05-22T19:53:26Z,6129420,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:36Z,6129483,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:46Z,6129801,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:53:56Z,6129864,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:54:06Z,6130176,reads,diskio,host.local,disk0\r\n,,12,2018-05-22T19:54:16Z,6130461,reads,diskio,host.local,disk0\r\n,,13,2018-05-22T19:53:26Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:36Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:46Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:53:56Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:54:06Z,729,reads,diskio,host.local,disk2\r\n,,13,2018-05-22T19:54:16Z,729,reads,diskio,host.local,disk2\r\n,,14,2018-05-22T19:53:26Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:36Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:46Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:53:56Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:54:06Z,100,reads,diskio,host.local,disk3\r\n,,14,2018-05-22T19:54:16Z,100,reads,diskio,host.local,disk3\r\n,,15,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,15,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk0\r\n,,16,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,16,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk2\r\n,,17,2018-05-22T19:53:26Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:36Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:46Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:53:56Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:54:06Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,17,2018-05-22T19:54:16Z,0,weighted_io_time,diskio,host.local,disk3\r\n,,18,2018-05-22T19:53:26Z,373674287104,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:36Z,373675814912,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:46Z,373676670976,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:53:56Z,373676830720,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:54:06Z,373677928448,write_bytes,diskio,host.local,disk0\r\n,,18,2018-05-22T19:54:16Z,373684617216,write_bytes,diskio,host.local,disk0\r\n,,19,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk2\r\n,,19,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk2\r\n,,20,2018-05-22T19:53:26Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:36Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:46Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:53:56Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:54:06Z,0,write_bytes,diskio,host.local,disk3\r\n,,20,2018-05-22T19:54:16Z,0,write_bytes,diskio,host.local,disk3\r\n,,21,2018-05-22T19:53:26Z,11748980,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:36Z,11749110,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:46Z,11749148,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:53:56Z,11749195,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:54:06Z,11749315,write_time,diskio,host.local,disk0\r\n,,21,2018-05-22T19:54:16Z,11749365,write_time,diskio,host.local,disk0\r\n,,22,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk2\r\n,,22,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk2\r\n,,23,2018-05-22T19:53:26Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:36Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:46Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:53:56Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:54:06Z,0,write_time,diskio,host.local,disk3\r\n,,23,2018-05-22T19:54:16Z,0,write_time,diskio,host.local,disk3\r\n,,24,2018-05-22T19:53:26Z,12385052,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:36Z,12385245,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:46Z,12385303,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:53:56Z,12385330,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:54:06Z,12385531,writes,diskio,host.local,disk0\r\n,,24,2018-05-22T19:54:16Z,12385646,writes,diskio,host.local,disk0\r\n,,25,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk2\r\n,,25,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk2\r\n,,26,2018-05-22T19:53:26Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:36Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:46Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:53:56Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:54:06Z,0,writes,diskio,host.local,disk3\r\n,,26,2018-05-22T19:54:16Z,0,writes,diskio,host.local,disk3\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   199,
					},
					File:   "union_heterogeneous_test.flux",
					Source: "outData = \"\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,false,false,true,false\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,0,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   176,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   176,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   176,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   199,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "\"\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,false,false,true,false\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,0,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   176,
						},
					},
				},
				Value: "\r\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\r\n#group,false,false,false,false,false,false,true,false\r\n#default,_result,,,,,,,\r\n,result,table,_time,_value,_field,_measurement,host,name\r\n,,0,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:26Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,3929,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,\r\n,,0,2018-05-22T19:53:56Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:53:56Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:53:56Z,228585836544,read_bytes,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:06Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:54:06Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:54:06Z,228594925568,read_bytes,diskio,host.local,disk0\r\n,,0,2018-05-22T19:54:16Z,24209920,read_bytes,diskio,host.local,disk3\r\n,,0,2018-05-22T19:54:16Z,202997248,read_bytes,diskio,host.local,disk2\r\n,,0,2018-05-22T19:54:16Z,228613324800,read_bytes,diskio,host.local,disk0\r\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   213,
					},
					File:   "union_heterogeneous_test.flux",
					Source: "t_union = (table=<-) => {\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\", \"name\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return union(tables: [t1, t2]) |> sort(columns: [\"_time\", \"_field\", \"_value\"])\n}",
					Start: ast.Position{
						Column: 1,
						Line:   200,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   200,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "t_union",
						Start: ast.Position{
							Column: 1,
							Line:   200,
						},
					},
				},
				Name: "t_union",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   213,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "(table=<-) => {\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\", \"name\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return union(tables: [t1, t2]) |> sort(columns: [\"_time\", \"_field\", \"_value\"])\n}",
						Start: ast.Position{
							Column: 11,
							Line:   200,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   213,
							},
							File:   "union_heterogeneous_test.flux",
							Source: "{\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\", \"name\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return union(tables: [t1, t2]) |> sort(columns: [\"_time\", \"_field\", \"_value\"])\n}",
							Start: ast.Position{
								Column: 25,
								Line:   200,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 54,
									Line:   205,
								},
								File:   "union_heterogeneous_test.flux",
								Source: "t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\", \"name\"])",
								Start: ast.Position{
									Column: 5,
									Line:   201,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 7,
										Line:   201,
									},
									File:   "union_heterogeneous_test.flux",
									Source: "t1",
									Start: ast.Position{
										Column: 5,
										Line:   201,
									},
								},
							},
							Name: "t1",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   201,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   201,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   202,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)",
												Start: ast.Position{
													Column: 10,
													Line:   201,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   202,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z",
														Start: ast.Position{
															Column: 18,
															Line:   202,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   202,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "start: 2018-05-22T19:53:00Z",
															Start: ast.Position{
																Column: 18,
																Line:   202,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 23,
																	Line:   202,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 18,
																	Line:   202,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   202,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "2018-05-22T19:53:00Z",
																Start: ast.Position{
																	Column: 25,
																	Line:   202,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   202,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "stop: 2018-05-22T19:53:50Z",
															Start: ast.Position{
																Column: 47,
																Line:   202,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 51,
																	Line:   202,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 47,
																	Line:   202,
																},
															},
														},
														Name: "stop",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   202,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "2018-05-22T19:53:50Z",
																Start: ast.Position{
																	Column: 53,
																	Line:   202,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:50Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   202,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)",
													Start: ast.Position{
														Column: 12,
														Line:   202,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   202,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 12,
															Line:   202,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   203,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")",
											Start: ast.Position{
												Column: 10,
												Line:   201,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   203,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\"",
													Start: ast.Position{
														Column: 19,
														Line:   203,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 82,
															Line:   203,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\"",
														Start: ast.Position{
															Column: 19,
															Line:   203,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   203,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "fn",
															Start: ast.Position{
																Column: 19,
																Line:   203,
															},
														},
													},
													Name: "fn",
												},
												Separator: nil,
												Value: &ast.FunctionExpression{
													Arrow: nil,
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 82,
																Line:   203,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "(r) => r._measurement == \"diskio\" and r._field == \"io_time\"",
															Start: ast.Position{
																Column: 23,
																Line:   203,
															},
														},
													},
													Body: &ast.LogicalExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 82,
																	Line:   203,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "r._measurement == \"diskio\" and r._field == \"io_time\"",
																Start: ast.Position{
																	Column: 30,
																	Line:   203,
																},
															},
														},
														Left: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 56,
																		Line:   203,
																	},
																	File:   "union_heterogeneous_test.flux",
																	Source: "r._measurement == \"diskio\"",
																	Start: ast.Position{
																		Column: 30,
																		Line:   203,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 44,
																			Line:   203,
																		},
																		File:   "union_heterogeneous_test.flux",
																		Source: "r._measurement",
																		Start: ast.Position{
																			Column: 30,
																			Line:   203,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 31,
																				Line:   203,
																			},
																			File:   "union_heterogeneous_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 30,
																				Line:   203,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 44,
																				Line:   203,
																			},
																			File:   "union_heterogeneous_test.flux",
																			Source: "_measurement",
																			Start: ast.Position{
																				Column: 32,
																				Line:   203,
																			},
																		},
																	},
																	Name: "_measurement",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 56,
																			Line:   203,
																		},
																		File:   "union_heterogeneous_test.flux",
																		Source: "\"diskio\"",
																		Start: ast.Position{
																			Column: 48,
																			Line:   203,
																		},
																	},
																},
																Value: "diskio",
															},
														},
														Operator: 1,
														Right: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 82,
																		Line:   203,
																	},
																	File:   "union_heterogeneous_test.flux",
																	Source: "r._field == \"io_time\"",
																	Start: ast.Position{
																		Column: 61,
																		Line:   203,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 69,
																			Line:   203,
																		},
																		File:   "union_heterogeneous_test.flux",
																		Source: "r._field",
																		Start: ast.Position{
																			Column: 61,
																			Line:   203,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 62,
																				Line:   203,
																			},
																			File:   "union_heterogeneous_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 61,
																				Line:   203,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 69,
																				Line:   203,
																			},
																			File:   "union_heterogeneous_test.flux",
																			Source: "_field",
																			Start: ast.Position{
																				Column: 63,
																				Line:   203,
																			},
																		},
																	},
																	Name: "_field",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 82,
																			Line:   203,
																		},
																		File:   "union_heterogeneous_test.flux",
																		Source: "\"io_time\"",
																		Start: ast.Position{
																			Column: 73,
																			Line:   203,
																		},
																	},
																},
																Value: "io_time",
															},
														},
													},
													Lparen: nil,
													Params: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   203,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   203,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   203,
																	},
																	File:   "union_heterogeneous_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 24,
																		Line:   203,
																	},
																},
															},
															Name: "r",
														},
														Separator: nil,
														Value:     nil,
													}},
													Rparan: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   203,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")",
												Start: ast.Position{
													Column: 12,
													Line:   203,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   203,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "filter",
													Start: ast.Position{
														Column: 12,
														Line:   203,
													},
												},
											},
											Name: "filter",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   204,
										},
										File:   "union_heterogeneous_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n        |> group(columns: [\"host\"])",
										Start: ast.Position{
											Column: 10,
											Line:   201,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 35,
													Line:   204,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "columns: [\"host\"]",
												Start: ast.Position{
													Column: 18,
													Line:   204,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   204,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "columns: [\"host\"]",
													Start: ast.Position{
														Column: 18,
														Line:   204,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 25,
															Line:   204,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "columns",
														Start: ast.Position{
															Column: 18,
															Line:   204,
														},
													},
												},
												Name: "columns",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   204,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "[\"host\"]",
														Start: ast.Position{
															Column: 27,
															Line:   204,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 34,
																Line:   204,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "\"host\"",
															Start: ast.Position{
																Column: 28,
																Line:   204,
															},
														},
													},
													Value: "host",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   204,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "group(columns: [\"host\"])",
											Start: ast.Position{
												Column: 12,
												Line:   204,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   204,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "group",
												Start: ast.Position{
													Column: 12,
													Line:   204,
												},
											},
										},
										Name: "group",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 54,
										Line:   205,
									},
									File:   "union_heterogeneous_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"io_time\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\", \"name\"])",
									Start: ast.Position{
										Column: 10,
										Line:   201,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 53,
												Line:   205,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "columns: [\"_start\", \"_stop\", \"name\"]",
											Start: ast.Position{
												Column: 17,
												Line:   205,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 53,
													Line:   205,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "columns: [\"_start\", \"_stop\", \"name\"]",
												Start: ast.Position{
													Column: 17,
													Line:   205,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   205,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 17,
														Line:   205,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   205,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "[\"_start\", \"_stop\", \"name\"]",
													Start: ast.Position{
														Column: 26,
														Line:   205,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   205,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 27,
															Line:   205,
														},
													},
												},
												Value: "_start",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   205,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "\"_stop\"",
														Start: ast.Position{
															Column: 37,
															Line:   205,
														},
													},
												},
												Value: "_stop",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 52,
															Line:   205,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "\"name\"",
														Start: ast.Position{
															Column: 46,
															Line:   205,
														},
													},
												},
												Value: "name",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 54,
											Line:   205,
										},
										File:   "union_heterogeneous_test.flux",
										Source: "drop(columns: [\"_start\", \"_stop\", \"name\"])",
										Start: ast.Position{
											Column: 12,
											Line:   205,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   205,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "drop",
											Start: ast.Position{
												Column: 12,
												Line:   205,
											},
										},
									},
									Name: "drop",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   210,
								},
								File:   "union_heterogeneous_test.flux",
								Source: "t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 5,
									Line:   206,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 7,
										Line:   206,
									},
									File:   "union_heterogeneous_test.flux",
									Source: "t2",
									Start: ast.Position{
										Column: 5,
										Line:   206,
									},
								},
							},
							Name: "t2",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 15,
														Line:   206,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 10,
														Line:   206,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   207,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)",
												Start: ast.Position{
													Column: 10,
													Line:   206,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   207,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z",
														Start: ast.Position{
															Column: 18,
															Line:   207,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   207,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "start: 2018-05-22T19:53:50Z",
															Start: ast.Position{
																Column: 18,
																Line:   207,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 23,
																	Line:   207,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 18,
																	Line:   207,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 45,
																	Line:   207,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "2018-05-22T19:53:50Z",
																Start: ast.Position{
																	Column: 25,
																	Line:   207,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:50Z"),
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   207,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "stop: 2018-05-22T19:54:20Z",
															Start: ast.Position{
																Column: 47,
																Line:   207,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 51,
																	Line:   207,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 47,
																	Line:   207,
																},
															},
														},
														Name: "stop",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 73,
																	Line:   207,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "2018-05-22T19:54:20Z",
																Start: ast.Position{
																	Column: 53,
																	Line:   207,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:54:20Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   207,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)",
													Start: ast.Position{
														Column: 12,
														Line:   207,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 17,
															Line:   207,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 12,
															Line:   207,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 86,
												Line:   208,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\")",
											Start: ast.Position{
												Column: 10,
												Line:   206,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   208,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\"",
													Start: ast.Position{
														Column: 19,
														Line:   208,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 85,
															Line:   208,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\"",
														Start: ast.Position{
															Column: 19,
															Line:   208,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   208,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "fn",
															Start: ast.Position{
																Column: 19,
																Line:   208,
															},
														},
													},
													Name: "fn",
												},
												Separator: nil,
												Value: &ast.FunctionExpression{
													Arrow: nil,
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 85,
																Line:   208,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "(r) => r._measurement == \"diskio\" and r._field == \"read_bytes\"",
															Start: ast.Position{
																Column: 23,
																Line:   208,
															},
														},
													},
													Body: &ast.LogicalExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 85,
																	Line:   208,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "r._measurement == \"diskio\" and r._field == \"read_bytes\"",
																Start: ast.Position{
																	Column: 30,
																	Line:   208,
																},
															},
														},
														Left: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 56,
																		Line:   208,
																	},
																	File:   "union_heterogeneous_test.flux",
																	Source: "r._measurement == \"diskio\"",
																	Start: ast.Position{
																		Column: 30,
																		Line:   208,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 44,
																			Line:   208,
																		},
																		File:   "union_heterogeneous_test.flux",
																		Source: "r._measurement",
																		Start: ast.Position{
																			Column: 30,
																			Line:   208,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 31,
																				Line:   208,
																			},
																			File:   "union_heterogeneous_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 30,
																				Line:   208,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 44,
																				Line:   208,
																			},
																			File:   "union_heterogeneous_test.flux",
																			Source: "_measurement",
																			Start: ast.Position{
																				Column: 32,
																				Line:   208,
																			},
																		},
																	},
																	Name: "_measurement",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 56,
																			Line:   208,
																		},
																		File:   "union_heterogeneous_test.flux",
																		Source: "\"diskio\"",
																		Start: ast.Position{
																			Column: 48,
																			Line:   208,
																		},
																	},
																},
																Value: "diskio",
															},
														},
														Operator: 1,
														Right: &ast.BinaryExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 85,
																		Line:   208,
																	},
																	File:   "union_heterogeneous_test.flux",
																	Source: "r._field == \"read_bytes\"",
																	Start: ast.Position{
																		Column: 61,
																		Line:   208,
																	},
																},
															},
															Left: &ast.MemberExpression{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 69,
																			Line:   208,
																		},
																		File:   "union_heterogeneous_test.flux",
																		Source: "r._field",
																		Start: ast.Position{
																			Column: 61,
																			Line:   208,
																		},
																	},
																},
																Lbrack: nil,
																Object: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 62,
																				Line:   208,
																			},
																			File:   "union_heterogeneous_test.flux",
																			Source: "r",
																			Start: ast.Position{
																				Column: 61,
																				Line:   208,
																			},
																		},
																	},
																	Name: "r",
																},
																Property: &ast.Identifier{
																	BaseNode: ast.BaseNode{
																		Comments: nil,
																		Errors:   nil,
																		Loc: &ast.SourceLocation{
																			End: ast.Position{
																				Column: 69,
																				Line:   208,
																			},
																			File:   "union_heterogeneous_test.flux",
																			Source: "_field",
																			Start: ast.Position{
																				Column: 63,
																				Line:   208,
																			},
																		},
																	},
																	Name: "_field",
																},
																Rbrack: nil,
															},
															Operator: 17,
															Right: &ast.StringLiteral{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 85,
																			Line:   208,
																		},
																		File:   "union_heterogeneous_test.flux",
																		Source: "\"read_bytes\"",
																		Start: ast.Position{
																			Column: 73,
																			Line:   208,
																		},
																	},
																},
																Value: "read_bytes",
															},
														},
													},
													Lparen: nil,
													Params: []*ast.Property{&ast.Property{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   208,
																},
																File:   "union_heterogeneous_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   208,
																},
															},
														},
														Comma: nil,
														Key: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 25,
																		Line:   208,
																	},
																	File:   "union_heterogeneous_test.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 24,
																		Line:   208,
																	},
																},
															},
															Name: "r",
														},
														Separator: nil,
														Value:     nil,
													}},
													Rparan: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 86,
													Line:   208,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\")",
												Start: ast.Position{
													Column: 12,
													Line:   208,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   208,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "filter",
													Start: ast.Position{
														Column: 12,
														Line:   208,
													},
												},
											},
											Name: "filter",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   209,
										},
										File:   "union_heterogeneous_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\")\n        |> group(columns: [\"host\"])",
										Start: ast.Position{
											Column: 10,
											Line:   206,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 35,
													Line:   209,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "columns: [\"host\"]",
												Start: ast.Position{
													Column: 18,
													Line:   209,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 35,
														Line:   209,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "columns: [\"host\"]",
													Start: ast.Position{
														Column: 18,
														Line:   209,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 25,
															Line:   209,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "columns",
														Start: ast.Position{
															Column: 18,
															Line:   209,
														},
													},
												},
												Name: "columns",
											},
											Separator: nil,
											Value: &ast.ArrayExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   209,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "[\"host\"]",
														Start: ast.Position{
															Column: 27,
															Line:   209,
														},
													},
												},
												Elements: []ast.Expression{&ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 34,
																Line:   209,
															},
															File:   "union_heterogeneous_test.flux",
															Source: "\"host\"",
															Start: ast.Position{
																Column: 28,
																Line:   209,
															},
														},
													},
													Value: "host",
												}},
												Lbrack: nil,
												Rbrack: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   209,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "group(columns: [\"host\"])",
											Start: ast.Position{
												Column: 12,
												Line:   209,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   209,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "group",
												Start: ast.Position{
													Column: 12,
													Line:   209,
												},
											},
										},
										Name: "group",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   210,
									},
									File:   "union_heterogeneous_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._measurement == \"diskio\" and r._field == \"read_bytes\")\n        |> group(columns: [\"host\"])\n        |> drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 10,
										Line:   206,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   210,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 17,
												Line:   210,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   210,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "columns: [\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 17,
													Line:   210,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   210,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 17,
														Line:   210,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   210,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "[\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 26,
														Line:   210,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   210,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 27,
															Line:   210,
														},
													},
												},
												Value: "_start",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   210,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "\"_stop\"",
														Start: ast.Position{
															Column: 37,
															Line:   210,
														},
													},
												},
												Value: "_stop",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   210,
										},
										File:   "union_heterogeneous_test.flux",
										Source: "drop(columns: [\"_start\", \"_stop\"])",
										Start: ast.Position{
											Column: 12,
											Line:   210,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   210,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "drop",
											Start: ast.Position{
												Column: 12,
												Line:   210,
											},
										},
									},
									Name: "drop",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.PipeExpression{
							Argument: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   212,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "tables: [t1, t2]",
											Start: ast.Position{
												Column: 18,
												Line:   212,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 34,
													Line:   212,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "tables: [t1, t2]",
												Start: ast.Position{
													Column: 18,
													Line:   212,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   212,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "tables",
													Start: ast.Position{
														Column: 18,
														Line:   212,
													},
												},
											},
											Name: "tables",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   212,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "[t1, t2]",
													Start: ast.Position{
														Column: 26,
														Line:   212,
													},
												},
											},
											Elements: []ast.Expression{&ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 29,
															Line:   212,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "t1",
														Start: ast.Position{
															Column: 27,
															Line:   212,
														},
													},
												},
												Name: "t1",
											}, &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 33,
															Line:   212,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "t2",
														Start: ast.Position{
															Column: 31,
															Line:   212,
														},
													},
												},
												Name: "t2",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 35,
											Line:   212,
										},
										File:   "union_heterogeneous_test.flux",
										Source: "union(tables: [t1, t2])",
										Start: ast.Position{
											Column: 12,
											Line:   212,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   212,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "union",
											Start: ast.Position{
												Column: 12,
												Line:   212,
											},
										},
									},
									Name: "union",
								},
								Lparen: nil,
								Rparen: nil,
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 83,
										Line:   212,
									},
									File:   "union_heterogeneous_test.flux",
									Source: "union(tables: [t1, t2]) |> sort(columns: [\"_time\", \"_field\", \"_value\"])",
									Start: ast.Position{
										Column: 12,
										Line:   212,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   212,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "columns: [\"_time\", \"_field\", \"_value\"]",
											Start: ast.Position{
												Column: 44,
												Line:   212,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 82,
													Line:   212,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "columns: [\"_time\", \"_field\", \"_value\"]",
												Start: ast.Position{
													Column: 44,
													Line:   212,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   212,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 44,
														Line:   212,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   212,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "[\"_time\", \"_field\", \"_value\"]",
													Start: ast.Position{
														Column: 53,
														Line:   212,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   212,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "\"_time\"",
														Start: ast.Position{
															Column: 54,
															Line:   212,
														},
													},
												},
												Value: "_time",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 71,
															Line:   212,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "\"_field\"",
														Start: ast.Position{
															Column: 63,
															Line:   212,
														},
													},
												},
												Value: "_field",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 81,
															Line:   212,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "\"_value\"",
														Start: ast.Position{
															Column: 73,
															Line:   212,
														},
													},
												},
												Value: "_value",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 83,
											Line:   212,
										},
										File:   "union_heterogeneous_test.flux",
										Source: "sort(columns: [\"_time\", \"_field\", \"_value\"])",
										Start: ast.Position{
											Column: 39,
											Line:   212,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   212,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "sort",
											Start: ast.Position{
												Column: 39,
												Line:   212,
											},
										},
									},
									Name: "sort",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 83,
									Line:   212,
								},
								File:   "union_heterogeneous_test.flux",
								Source: "return union(tables: [t1, t2]) |> sort(columns: [\"_time\", \"_field\", \"_value\"])",
								Start: ast.Position{
									Column: 5,
									Line:   212,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   200,
							},
							File:   "union_heterogeneous_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   200,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   200,
								},
								File:   "union_heterogeneous_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   200,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   200,
							},
							File:   "union_heterogeneous_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   200,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 128,
							Line:   215,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "_union_heterogeneous = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
						Start: ast.Position{
							Column: 6,
							Line:   215,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   215,
							},
							File:   "union_heterogeneous_test.flux",
							Source: "_union_heterogeneous",
							Start: ast.Position{
								Column: 6,
								Line:   215,
							},
						},
					},
					Name: "_union_heterogeneous",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 128,
								Line:   215,
							},
							File:   "union_heterogeneous_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
							Start: ast.Position{
								Column: 29,
								Line:   215,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 128,
									Line:   215,
								},
								File:   "union_heterogeneous_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
								Start: ast.Position{
									Column: 35,
									Line:   215,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 127,
										Line:   215,
									},
									File:   "union_heterogeneous_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union}",
									Start: ast.Position{
										Column: 36,
										Line:   215,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 76,
											Line:   215,
										},
										File:   "union_heterogeneous_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 37,
											Line:   215,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 42,
												Line:   215,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 37,
												Line:   215,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 75,
													Line:   215,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 64,
													Line:   215,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 75,
														Line:   215,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 64,
														Line:   215,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   215,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 64,
															Line:   215,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 75,
															Line:   215,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 69,
															Line:   215,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 76,
												Line:   215,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 44,
												Line:   215,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 63,
													Line:   215,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 44,
													Line:   215,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   215,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 44,
														Line:   215,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 63,
														Line:   215,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 52,
														Line:   215,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 113,
											Line:   215,
										},
										File:   "union_heterogeneous_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 78,
											Line:   215,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   215,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 78,
												Line:   215,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 112,
													Line:   215,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 100,
													Line:   215,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 112,
														Line:   215,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 100,
														Line:   215,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 103,
															Line:   215,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 100,
															Line:   215,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 112,
															Line:   215,
														},
														File:   "union_heterogeneous_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 105,
															Line:   215,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 113,
												Line:   215,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 84,
												Line:   215,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   215,
												},
												File:   "union_heterogeneous_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 84,
													Line:   215,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   215,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 84,
														Line:   215,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   215,
													},
													File:   "union_heterogeneous_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 92,
														Line:   215,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 126,
											Line:   215,
										},
										File:   "union_heterogeneous_test.flux",
										Source: "fn: t_union",
										Start: ast.Position{
											Column: 115,
											Line:   215,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 117,
												Line:   215,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 115,
												Line:   215,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 126,
												Line:   215,
											},
											File:   "union_heterogeneous_test.flux",
											Source: "t_union",
											Start: ast.Position{
												Column: 119,
												Line:   215,
											},
										},
									},
									Name: "t_union",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 128,
						Line:   215,
					},
					File:   "union_heterogeneous_test.flux",
					Source: "test _union_heterogeneous = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
					Start: ast.Position{
						Column: 1,
						Line:   215,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "union_heterogeneous_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "union_heterogeneous_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "union_heterogeneous_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "union_heterogeneous_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 114,
					Line:   63,
				},
				File:   "union_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\nt_union = (table=<-) => {\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\")\n        |> drop(columns: [\"_start\", \"_stop\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\")\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return union(tables: [t1, t2]) |> sort(columns: [\"_time\"])\n}\n\ntest _union = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "union_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "union_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "union_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "union_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "union_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "union_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "union_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "union_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   49,
					},
					File:   "union_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "union_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   49,
						},
						File:   "union_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   61,
					},
					File:   "union_test.flux",
					Source: "t_union = (table=<-) => {\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\")\n        |> drop(columns: [\"_start\", \"_stop\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\")\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return union(tables: [t1, t2]) |> sort(columns: [\"_time\"])\n}",
					Start: ast.Position{
						Column: 1,
						Line:   50,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   50,
						},
						File:   "union_test.flux",
						Source: "t_union",
						Start: ast.Position{
							Column: 1,
							Line:   50,
						},
					},
				},
				Name: "t_union",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   61,
						},
						File:   "union_test.flux",
						Source: "(table=<-) => {\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\")\n        |> drop(columns: [\"_start\", \"_stop\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\")\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return union(tables: [t1, t2]) |> sort(columns: [\"_time\"])\n}",
						Start: ast.Position{
							Column: 11,
							Line:   50,
						},
					},
				},
				Body: &ast.Block{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 2,
								Line:   61,
							},
							File:   "union_test.flux",
							Source: "{\n    t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\")\n        |> drop(columns: [\"_start\", \"_stop\"])\n    t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\")\n        |> drop(columns: [\"_start\", \"_stop\"])\n\n    return union(tables: [t1, t2]) |> sort(columns: [\"_time\"])\n}",
							Start: ast.Position{
								Column: 25,
								Line:   50,
							},
						},
					},
					Body: []ast.Statement{&ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   54,
								},
								File:   "union_test.flux",
								Source: "t1 = table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\")\n        |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 5,
									Line:   51,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 7,
										Line:   51,
									},
									File:   "union_test.flux",
									Source: "t1",
									Start: ast.Position{
										Column: 5,
										Line:   51,
									},
								},
							},
							Name: "t1",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   51,
												},
												File:   "union_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 10,
													Line:   51,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   52,
											},
											File:   "union_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)",
											Start: ast.Position{
												Column: 10,
												Line:   51,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   52,
													},
													File:   "union_test.flux",
													Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z",
													Start: ast.Position{
														Column: 18,
														Line:   52,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   52,
														},
														File:   "union_test.flux",
														Source: "start: 2018-05-22T19:53:00Z",
														Start: ast.Position{
															Column: 18,
															Line:   52,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 23,
																Line:   52,
															},
															File:   "union_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 18,
																Line:   52,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   52,
															},
															File:   "union_test.flux",
															Source: "2018-05-22T19:53:00Z",
															Start: ast.Position{
																Column: 25,
																Line:   52,
															},
														},
													},
													Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   52,
														},
														File:   "union_test.flux",
														Source: "stop: 2018-05-22T19:53:50Z",
														Start: ast.Position{
															Column: 47,
															Line:   52,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 51,
																Line:   52,
															},
															File:   "union_test.flux",
															Source: "stop",
															Start: ast.Position{
																Column: 47,
																Line:   52,
															},
														},
													},
													Name: "stop",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   52,
															},
															File:   "union_test.flux",
															Source: "2018-05-22T19:53:50Z",
															Start: ast.Position{
																Column: 53,
																Line:   52,
															},
														},
													},
													Value: parser.MustParseTime("2018-05-22T19:53:50Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   52,
												},
												File:   "union_test.flux",
												Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)",
												Start: ast.Position{
													Column: 12,
													Line:   52,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   52,
													},
													File:   "union_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 12,
														Line:   52,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 90,
											Line:   53,
										},
										File:   "union_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\")",
										Start: ast.Position{
											Column: 10,
											Line:   51,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 89,
													Line:   53,
												},
												File:   "union_test.flux",
												Source: "fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\"",
												Start: ast.Position{
													Column: 19,
													Line:   53,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   53,
													},
													File:   "union_test.flux",
													Source: "fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\"",
													Start: ast.Position{
														Column: 19,
														Line:   53,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   53,
														},
														File:   "union_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   53,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   53,
														},
														File:   "union_test.flux",
														Source: "(r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\"",
														Start: ast.Position{
															Column: 23,
															Line:   53,
														},
													},
												},
												Body: &ast.LogicalExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 89,
																Line:   53,
															},
															File:   "union_test.flux",
															Source: "r._field == \"usage_guest\" or r._field == \"usage_guest_nice\"",
															Start: ast.Position{
																Column: 30,
																Line:   53,
															},
														},
													},
													Left: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 55,
																	Line:   53,
																},
																File:   "union_test.flux",
																Source: "r._field == \"usage_guest\"",
																Start: ast.Position{
																	Column: 30,
																	Line:   53,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 38,
																		Line:   53,
																	},
																	File:   "union_test.flux",
																	Source: "r._field",
																	Start: ast.Position{
																		Column: 30,
																		Line:   53,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 31,
																			Line:   53,
																		},
																		File:   "union_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 30,
																			Line:   53,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 38,
																			Line:   53,
																		},
																		File:   "union_test.flux",
																		Source: "_field",
																		Start: ast.Position{
																			Column: 32,
																			Line:   53,
																		},
																	},
																},
																Name: "_field",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 55,
																		Line:   53,
																	},
																	File:   "union_test.flux",
																	Source: "\"usage_guest\"",
																	Start: ast.Position{
																		Column: 42,
																		Line:   53,
																	},
																},
															},
															Value: "usage_guest",
														},
													},
													Operator: 2,
													Right: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 89,
																	Line:   53,
																},
																File:   "union_test.flux",
																Source: "r._field == \"usage_guest_nice\"",
																Start: ast.Position{
																	Column: 59,
																	Line:   53,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 67,
																		Line:   53,
																	},
																	File:   "union_test.flux",
																	Source: "r._field",
																	Start: ast.Position{
																		Column: 59,
																		Line:   53,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 60,
																			Line:   53,
																		},
																		File:   "union_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 59,
																			Line:   53,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 67,
																			Line:   53,
																		},
																		File:   "union_test.flux",
																		Source: "_field",
																		Start: ast.Position{
																			Column: 61,
																			Line:   53,
																		},
																	},
																},
																Name: "_field",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 89,
																		Line:   53,
																	},
																	File:   "union_test.flux",
																	Source: "\"usage_guest_nice\"",
																	Start: ast.Position{
																		Column: 71,
																		Line:   53,
																	},
																},
															},
															Value: "usage_guest_nice",
														},
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   53,
															},
															File:   "union_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   53,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   53,
																},
																File:   "union_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   53,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 90,
												Line:   53,
											},
											File:   "union_test.flux",
											Source: "filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\")",
											Start: ast.Position{
												Column: 12,
												Line:   53,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   53,
												},
												File:   "union_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   53,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   54,
									},
									File:   "union_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_guest_nice\")\n        |> drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 10,
										Line:   51,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   54,
											},
											File:   "union_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 17,
												Line:   54,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   54,
												},
												File:   "union_test.flux",
												Source: "columns: [\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 17,
													Line:   54,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   54,
													},
													File:   "union_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 17,
														Line:   54,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   54,
													},
													File:   "union_test.flux",
													Source: "[\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 26,
														Line:   54,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   54,
														},
														File:   "union_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 27,
															Line:   54,
														},
													},
												},
												Value: "_start",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   54,
														},
														File:   "union_test.flux",
														Source: "\"_stop\"",
														Start: ast.Position{
															Column: 37,
															Line:   54,
														},
													},
												},
												Value: "_stop",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   54,
										},
										File:   "union_test.flux",
										Source: "drop(columns: [\"_start\", \"_stop\"])",
										Start: ast.Position{
											Column: 12,
											Line:   54,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   54,
											},
											File:   "union_test.flux",
											Source: "drop",
											Start: ast.Position{
												Column: 12,
												Line:   54,
											},
										},
									},
									Name: "drop",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.VariableAssignment{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 46,
									Line:   58,
								},
								File:   "union_test.flux",
								Source: "t2 = table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\")\n        |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 5,
									Line:   55,
								},
							},
						},
						ID: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 7,
										Line:   55,
									},
									File:   "union_test.flux",
									Source: "t2",
									Start: ast.Position{
										Column: 5,
										Line:   55,
									},
								},
							},
							Name: "t2",
						},
						Init: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 15,
													Line:   55,
												},
												File:   "union_test.flux",
												Source: "table",
												Start: ast.Position{
													Column: 10,
													Line:   55,
												},
											},
										},
										Name: "table",
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   56,
											},
											File:   "union_test.flux",
											Source: "table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)",
											Start: ast.Position{
												Column: 10,
												Line:   55,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 73,
														Line:   56,
													},
													File:   "union_test.flux",
													Source: "start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z",
													Start: ast.Position{
														Column: 18,
														Line:   56,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 45,
															Line:   56,
														},
														File:   "union_test.flux",
														Source: "start: 2018-05-22T19:53:50Z",
														Start: ast.Position{
															Column: 18,
															Line:   56,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 23,
																Line:   56,
															},
															File:   "union_test.flux",
															Source: "start",
															Start: ast.Position{
																Column: 18,
																Line:   56,
															},
														},
													},
													Name: "start",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 45,
																Line:   56,
															},
															File:   "union_test.flux",
															Source: "2018-05-22T19:53:50Z",
															Start: ast.Position{
																Column: 25,
																Line:   56,
															},
														},
													},
													Value: parser.MustParseTime("2018-05-22T19:53:50Z"),
												},
											}, &ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   56,
														},
														File:   "union_test.flux",
														Source: "stop: 2018-05-22T19:54:20Z",
														Start: ast.Position{
															Column: 47,
															Line:   56,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 51,
																Line:   56,
															},
															File:   "union_test.flux",
															Source: "stop",
															Start: ast.Position{
																Column: 47,
																Line:   56,
															},
														},
													},
													Name: "stop",
												},
												Separator: nil,
												Value: &ast.DateTimeLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 73,
																Line:   56,
															},
															File:   "union_test.flux",
															Source: "2018-05-22T19:54:20Z",
															Start: ast.Position{
																Column: 53,
																Line:   56,
															},
														},
													},
													Value: parser.MustParseTime("2018-05-22T19:54:20Z"),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   56,
												},
												File:   "union_test.flux",
												Source: "range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)",
												Start: ast.Position{
													Column: 12,
													Line:   56,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 17,
														Line:   56,
													},
													File:   "union_test.flux",
													Source: "range",
													Start: ast.Position{
														Column: 12,
														Line:   56,
													},
												},
											},
											Name: "range",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 84,
											Line:   57,
										},
										File:   "union_test.flux",
										Source: "table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\")",
										Start: ast.Position{
											Column: 10,
											Line:   55,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 83,
													Line:   57,
												},
												File:   "union_test.flux",
												Source: "fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\"",
												Start: ast.Position{
													Column: 19,
													Line:   57,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   57,
													},
													File:   "union_test.flux",
													Source: "fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\"",
													Start: ast.Position{
														Column: 19,
														Line:   57,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 21,
															Line:   57,
														},
														File:   "union_test.flux",
														Source: "fn",
														Start: ast.Position{
															Column: 19,
															Line:   57,
														},
													},
												},
												Name: "fn",
											},
											Separator: nil,
											Value: &ast.FunctionExpression{
												Arrow: nil,
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 83,
															Line:   57,
														},
														File:   "union_test.flux",
														Source: "(r) => r._field == \"usage_guest\" or r._field == \"usage_idle\"",
														Start: ast.Position{
															Column: 23,
															Line:   57,
														},
													},
												},
												Body: &ast.LogicalExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 83,
																Line:   57,
															},
															File:   "union_test.flux",
															Source: "r._field == \"usage_guest\" or r._field == \"usage_idle\"",
															Start: ast.Position{
																Column: 30,
																Line:   57,
															},
														},
													},
													Left: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 55,
																	Line:   57,
																},
																File:   "union_test.flux",
																Source: "r._field == \"usage_guest\"",
																Start: ast.Position{
																	Column: 30,
																	Line:   57,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 38,
																		Line:   57,
																	},
																	File:   "union_test.flux",
																	Source: "r._field",
																	Start: ast.Position{
																		Column: 30,
																		Line:   57,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 31,
																			Line:   57,
																		},
																		File:   "union_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 30,
																			Line:   57,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 38,
																			Line:   57,
																		},
																		File:   "union_test.flux",
																		Source: "_field",
																		Start: ast.Position{
																			Column: 32,
																			Line:   57,
																		},
																	},
																},
																Name: "_field",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 55,
																		Line:   57,
																	},
																	File:   "union_test.flux",
																	Source: "\"usage_guest\"",
																	Start: ast.Position{
																		Column: 42,
																		Line:   57,
																	},
																},
															},
															Value: "usage_guest",
														},
													},
													Operator: 2,
													Right: &ast.BinaryExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 83,
																	Line:   57,
																},
																File:   "union_test.flux",
																Source: "r._field == \"usage_idle\"",
																Start: ast.Position{
																	Column: 59,
																	Line:   57,
																},
															},
														},
														Left: &ast.MemberExpression{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 67,
																		Line:   57,
																	},
																	File:   "union_test.flux",
																	Source: "r._field",
																	Start: ast.Position{
																		Column: 59,
																		Line:   57,
																	},
																},
															},
															Lbrack: nil,
															Object: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 60,
																			Line:   57,
																		},
																		File:   "union_test.flux",
																		Source: "r",
																		Start: ast.Position{
																			Column: 59,
																			Line:   57,
																		},
																	},
																},
																Name: "r",
															},
															Property: &ast.Identifier{
																BaseNode: ast.BaseNode{
																	Comments: nil,
																	Errors:   nil,
																	Loc: &ast.SourceLocation{
																		End: ast.Position{
																			Column: 67,
																			Line:   57,
																		},
																		File:   "union_test.flux",
																		Source: "_field",
																		Start: ast.Position{
																			Column: 61,
																			Line:   57,
																		},
																	},
																},
																Name: "_field",
															},
															Rbrack: nil,
														},
														Operator: 17,
														Right: &ast.StringLiteral{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 83,
																		Line:   57,
																	},
																	File:   "union_test.flux",
																	Source: "\"usage_idle\"",
																	Start: ast.Position{
																		Column: 71,
																		Line:   57,
																	},
																},
															},
															Value: "usage_idle",
														},
													},
												},
												Lparen: nil,
												Params: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 25,
																Line:   57,
															},
															File:   "union_test.flux",
															Source: "r",
															Start: ast.Position{
																Column: 24,
																Line:   57,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 25,
																	Line:   57,
																},
																File:   "union_test.flux",
																Source: "r",
																Start: ast.Position{
																	Column: 24,
																	Line:   57,
																},
															},
														},
														Name: "r",
													},
													Separator: nil,
													Value:     nil,
												}},
												Rparan: nil,
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 84,
												Line:   57,
											},
											File:   "union_test.flux",
											Source: "filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\")",
											Start: ast.Position{
												Column: 12,
												Line:   57,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   57,
												},
												File:   "union_test.flux",
												Source: "filter",
												Start: ast.Position{
													Column: 12,
													Line:   57,
												},
											},
										},
										Name: "filter",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   58,
									},
									File:   "union_test.flux",
									Source: "table\n        |> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)\n        |> filter(fn: (r) => r._field == \"usage_guest\" or r._field == \"usage_idle\")\n        |> drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 10,
										Line:   55,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 45,
												Line:   58,
											},
											File:   "union_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 17,
												Line:   58,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 45,
													Line:   58,
												},
												File:   "union_test.flux",
												Source: "columns: [\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 17,
													Line:   58,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   58,
													},
													File:   "union_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 17,
														Line:   58,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 45,
														Line:   58,
													},
													File:   "union_test.flux",
													Source: "[\"_start\", \"_stop\"]",
													Start: ast.Position{
														Column: 26,
														Line:   58,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 35,
															Line:   58,
														},
														File:   "union_test.flux",
														Source: "\"_start\"",
														Start: ast.Position{
															Column: 27,
															Line:   58,
														},
													},
												},
												Value: "_start",
											}, &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 44,
															Line:   58,
														},
														File:   "union_test.flux",
														Source: "\"_stop\"",
														Start: ast.Position{
															Column: 37,
															Line:   58,
														},
													},
												},
												Value: "_stop",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   58,
										},
										File:   "union_test.flux",
										Source: "drop(columns: [\"_start\", \"_stop\"])",
										Start: ast.Position{
											Column: 12,
											Line:   58,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 16,
												Line:   58,
											},
											File:   "union_test.flux",
											Source: "drop",
											Start: ast.Position{
												Column: 12,
												Line:   58,
											},
										},
									},
									Name: "drop",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
					}, &ast.ReturnStatement{
						Argument: &ast.PipeExpression{
							Argument: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   60,
											},
											File:   "union_test.flux",
											Source: "tables: [t1, t2]",
											Start: ast.Position{
												Column: 18,
												Line:   60,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 34,
													Line:   60,
												},
												File:   "union_test.flux",
												Source: "tables: [t1, t2]",
												Start: ast.Position{
													Column: 18,
													Line:   60,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   60,
													},
													File:   "union_test.flux",
													Source: "tables",
													Start: ast.Position{
														Column: 18,
														Line:   60,
													},
												},
											},
											Name: "tables",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 34,
														Line:   60,
													},
													File:   "union_test.flux",
													Source: "[t1, t2]",
													Start: ast.Position{
														Column: 26,
														Line:   60,
													},
												},
											},
											Elements: []ast.Expression{&ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 29,
															Line:   60,
														},
														File:   "union_test.flux",
														Source: "t1",
														Start: ast.Position{
															Column: 27,
															Line:   60,
														},
													},
												},
												Name: "t1",
											}, &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 33,
															Line:   60,
														},
														File:   "union_test.flux",
														Source: "t2",
														Start: ast.Position{
															Column: 31,
															Line:   60,
														},
													},
												},
												Name: "t2",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 35,
											Line:   60,
										},
										File:   "union_test.flux",
										Source: "union(tables: [t1, t2])",
										Start: ast.Position{
											Column: 12,
											Line:   60,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 17,
												Line:   60,
											},
											File:   "union_test.flux",
											Source: "union",
											Start: ast.Position{
												Column: 12,
												Line:   60,
											},
										},
									},
									Name: "union",
								},
								Lparen: nil,
								Rparen: nil,
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 63,
										Line:   60,
									},
									File:   "union_test.flux",
									Source: "union(tables: [t1, t2]) |> sort(columns: [\"_time\"])",
									Start: ast.Position{
										Column: 12,
										Line:   60,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   60,
											},
											File:   "union_test.flux",
											Source: "columns: [\"_time\"]",
											Start: ast.Position{
												Column: 44,
												Line:   60,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   60,
												},
												File:   "union_test.flux",
												Source: "columns: [\"_time\"]",
												Start: ast.Position{
													Column: 44,
													Line:   60,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 51,
														Line:   60,
													},
													File:   "union_test.flux",
													Source: "columns",
													Start: ast.Position{
														Column: 44,
														Line:   60,
													},
												},
											},
											Name: "columns",
										},
										Separator: nil,
										Value: &ast.ArrayExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   60,
													},
													File:   "union_test.flux",
													Source: "[\"_time\"]",
													Start: ast.Position{
														Column: 53,
														Line:   60,
													},
												},
											},
											Elements: []ast.Expression{&ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   60,
														},
														File:   "union_test.flux",
														Source: "\"_time\"",
														Start: ast.Position{
															Column: 54,
															Line:   60,
														},
													},
												},
												Value: "_time",
											}},
											Lbrack: nil,
											Rbrack: nil,
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   60,
										},
										File:   "union_test.flux",
										Source: "sort(columns: [\"_time\"])",
										Start: ast.Position{
											Column: 39,
											Line:   60,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 43,
												Line:   60,
											},
											File:   "union_test.flux",
											Source: "sort",
											Start: ast.Position{
												Column: 39,
												Line:   60,
											},
										},
									},
									Name: "sort",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 63,
									Line:   60,
								},
								File:   "union_test.flux",
								Source: "return union(tables: [t1, t2]) |> sort(columns: [\"_time\"])",
								Start: ast.Position{
									Column: 5,
									Line:   60,
								},
							},
						},
					}},
					Lbrace: nil,
					Rbrace: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   50,
							},
							File:   "union_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   50,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   50,
								},
								File:   "union_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   50,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   50,
							},
							File:   "union_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   50,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 114,
							Line:   63,
						},
						File:   "union_test.flux",
						Source: "_union = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
						Start: ast.Position{
							Column: 6,
							Line:   63,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   63,
							},
							File:   "union_test.flux",
							Source: "_union",
							Start: ast.Position{
								Column: 6,
								Line:   63,
							},
						},
					},
					Name: "_union",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 114,
								Line:   63,
							},
							File:   "union_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
							Start: ast.Position{
								Column: 15,
								Line:   63,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 114,
									Line:   63,
								},
								File:   "union_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
								Start: ast.Position{
									Column: 21,
									Line:   63,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 113,
										Line:   63,
									},
									File:   "union_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union}",
									Start: ast.Position{
										Column: 22,
										Line:   63,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   63,
										},
										File:   "union_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   63,
											},
											File:   "union_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   63,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   63,
												},
												File:   "union_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   63,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   63,
													},
													File:   "union_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   63,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   63,
														},
														File:   "union_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   63,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   63,
														},
														File:   "union_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   63,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   63,
											},
											File:   "union_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   63,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   63,
												},
												File:   "union_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   63,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   63,
													},
													File:   "union_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   63,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   63,
													},
													File:   "union_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   63,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 99,
											Line:   63,
										},
										File:   "union_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 64,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   63,
											},
											File:   "union_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   63,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   63,
												},
												File:   "union_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 86,
													Line:   63,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   63,
													},
													File:   "union_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   63,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   63,
														},
														File:   "union_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 86,
															Line:   63,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   63,
														},
														File:   "union_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 91,
															Line:   63,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 99,
												Line:   63,
											},
											File:   "union_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 70,
												Line:   63,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 85,
													Line:   63,
												},
												File:   "union_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 70,
													Line:   63,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   63,
													},
													File:   "union_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 70,
														Line:   63,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   63,
													},
													File:   "union_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 78,
														Line:   63,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   63,
										},
										File:   "union_test.flux",
										Source: "fn: t_union",
										Start: ast.Position{
											Column: 101,
											Line:   63,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 103,
												Line:   63,
											},
											File:   "union_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 101,
												Line:   63,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   63,
											},
											File:   "union_test.flux",
											Source: "t_union",
											Start: ast.Position{
												Column: 105,
												Line:   63,
											},
										},
									},
									Name: "t_union",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 114,
						Line:   63,
					},
					File:   "union_test.flux",
					Source: "test _union = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_union})",
					Start: ast.Position{
						Column: 1,
						Line:   63,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "union_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "union_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "union_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "union_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "union_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   41,
				},
				File:   "unique_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,tag0,_measurement\n,,0,2018-05-22T19:54:16Z,20,f0,a,aa\n,,0,2018-05-22T19:53:56Z,55,f0,a,aa\n,,0,2018-05-22T19:54:06Z,20,f0,a,aa\n,,1,2018-05-22T19:53:26Z,35,f0,b,aa\n,,1,2018-05-22T19:53:46Z,70,f0,b,aa\n,,2,2018-05-22T19:53:36Z,15,f1,c,aa\n,,2,2018-05-22T19:54:16Z,11,f1,c,aa\n,,2,2018-05-22T19:53:56Z,99,f1,c,aa\n,,2,2018-05-22T19:54:06Z,85,f1,c,aa\n,,3,2018-05-22T19:53:26Z,23,f1,d,aa\n,,4,2018-05-22T19:53:46Z,37,f1,e,aa\n,,4,2018-05-22T19:53:36Z,69,f1,e,aa\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,tag0,_measurement\n,,0,2018-05-22T19:54:16Z,20,f0,a,aa\n,,1,2018-05-22T19:53:26Z,35,f0,b,aa\n,,2,2018-05-22T19:53:36Z,15,f1,c,aa\n,,3,2018-05-22T19:53:26Z,23,f1,d,aa\n,,4,2018-05-22T19:53:46Z,37,f1,e,aa\n\"\nt_unique = (table=<-) => table\n    |> unique(column: \"tag0\")\n    |> drop(columns: [\"_start\", \"_stop\"])\n\ntest _unique = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_unique})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "unique_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "unique_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "unique_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "unique_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "unique_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "unique_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,tag0,_measurement\n,,0,2018-05-22T19:54:16Z,20,f0,a,aa\n,,0,2018-05-22T19:53:56Z,55,f0,a,aa\n,,0,2018-05-22T19:54:06Z,20,f0,a,aa\n,,1,2018-05-22T19:53:26Z,35,f0,b,aa\n,,1,2018-05-22T19:53:46Z,70,f0,b,aa\n,,2,2018-05-22T19:53:36Z,15,f1,c,aa\n,,2,2018-05-22T19:54:16Z,11,f1,c,aa\n,,2,2018-05-22T19:53:56Z,99,f1,c,aa\n,,2,2018-05-22T19:54:06Z,85,f1,c,aa\n,,3,2018-05-22T19:53:26Z,23,f1,d,aa\n,,4,2018-05-22T19:53:46Z,37,f1,e,aa\n,,4,2018-05-22T19:53:36Z,69,f1,e,aa\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "unique_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "unique_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,tag0,_measurement\n,,0,2018-05-22T19:54:16Z,20,f0,a,aa\n,,0,2018-05-22T19:53:56Z,55,f0,a,aa\n,,0,2018-05-22T19:54:06Z,20,f0,a,aa\n,,1,2018-05-22T19:53:26Z,35,f0,b,aa\n,,1,2018-05-22T19:53:46Z,70,f0,b,aa\n,,2,2018-05-22T19:53:36Z,15,f1,c,aa\n,,2,2018-05-22T19:54:16Z,11,f1,c,aa\n,,2,2018-05-22T19:53:56Z,99,f1,c,aa\n,,2,2018-05-22T19:54:06Z,85,f1,c,aa\n,,3,2018-05-22T19:53:26Z,23,f1,d,aa\n,,4,2018-05-22T19:53:46Z,37,f1,e,aa\n,,4,2018-05-22T19:53:36Z,69,f1,e,aa\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,tag0,_measurement\n,,0,2018-05-22T19:54:16Z,20,f0,a,aa\n,,0,2018-05-22T19:53:56Z,55,f0,a,aa\n,,0,2018-05-22T19:54:06Z,20,f0,a,aa\n,,1,2018-05-22T19:53:26Z,35,f0,b,aa\n,,1,2018-05-22T19:53:46Z,70,f0,b,aa\n,,2,2018-05-22T19:53:36Z,15,f1,c,aa\n,,2,2018-05-22T19:54:16Z,11,f1,c,aa\n,,2,2018-05-22T19:53:56Z,99,f1,c,aa\n,,2,2018-05-22T19:54:06Z,85,f1,c,aa\n,,3,2018-05-22T19:53:26Z,23,f1,d,aa\n,,4,2018-05-22T19:53:46Z,37,f1,e,aa\n,,4,2018-05-22T19:53:36Z,69,f1,e,aa\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   36,
					},
					File:   "unique_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,tag0,_measurement\n,,0,2018-05-22T19:54:16Z,20,f0,a,aa\n,,1,2018-05-22T19:53:26Z,35,f0,b,aa\n,,2,2018-05-22T19:53:36Z,15,f1,c,aa\n,,3,2018-05-22T19:53:26Z,23,f1,d,aa\n,,4,2018-05-22T19:53:46Z,37,f1,e,aa\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "unique_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   36,
						},
						File:   "unique_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,tag0,_measurement\n,,0,2018-05-22T19:54:16Z,20,f0,a,aa\n,,1,2018-05-22T19:53:26Z,35,f0,b,aa\n,,2,2018-05-22T19:53:36Z,15,f1,c,aa\n,,3,2018-05-22T19:53:26Z,23,f1,d,aa\n,,4,2018-05-22T19:53:46Z,37,f1,e,aa\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,tag0,_measurement\n,,0,2018-05-22T19:54:16Z,20,f0,a,aa\n,,1,2018-05-22T19:53:26Z,35,f0,b,aa\n,,2,2018-05-22T19:53:36Z,15,f1,c,aa\n,,3,2018-05-22T19:53:26Z,23,f1,d,aa\n,,4,2018-05-22T19:53:46Z,37,f1,e,aa\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 42,
						Line:   39,
					},
					File:   "unique_test.flux",
					Source: "t_unique = (table=<-) => table\n    |> unique(column: \"tag0\")\n    |> drop(columns: [\"_start\", \"_stop\"])",
					Start: ast.Position{
						Column: 1,
						Line:   37,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   37,
						},
						File:   "unique_test.flux",
						Source: "t_unique",
						Start: ast.Position{
							Column: 1,
							Line:   37,
						},
					},
				},
				Name: "t_unique",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 42,
							Line:   39,
						},
						File:   "unique_test.flux",
						Source: "(table=<-) => table\n    |> unique(column: \"tag0\")\n    |> drop(columns: [\"_start\", \"_stop\"])",
						Start: ast.Position{
							Column: 12,
							Line:   37,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 31,
										Line:   37,
									},
									File:   "unique_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 26,
										Line:   37,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   38,
								},
								File:   "unique_test.flux",
								Source: "table\n    |> unique(column: \"tag0\")",
								Start: ast.Position{
									Column: 26,
									Line:   37,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 29,
											Line:   38,
										},
										File:   "unique_test.flux",
										Source: "column: \"tag0\"",
										Start: ast.Position{
											Column: 15,
											Line:   38,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   38,
											},
											File:   "unique_test.flux",
											Source: "column: \"tag0\"",
											Start: ast.Position{
												Column: 15,
												Line:   38,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 21,
													Line:   38,
												},
												File:   "unique_test.flux",
												Source: "column",
												Start: ast.Position{
													Column: 15,
													Line:   38,
												},
											},
										},
										Name: "column",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 29,
													Line:   38,
												},
												File:   "unique_test.flux",
												Source: "\"tag0\"",
												Start: ast.Position{
													Column: 23,
													Line:   38,
												},
											},
										},
										Value: "tag0",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   38,
									},
									File:   "unique_test.flux",
									Source: "unique(column: \"tag0\")",
									Start: ast.Position{
										Column: 8,
										Line:   38,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   38,
										},
										File:   "unique_test.flux",
										Source: "unique",
										Start: ast.Position{
											Column: 8,
											Line:   38,
										},
									},
								},
								Name: "unique",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 42,
								Line:   39,
							},
							File:   "unique_test.flux",
							Source: "table\n    |> unique(column: \"tag0\")\n    |> drop(columns: [\"_start\", \"_stop\"])",
							Start: ast.Position{
								Column: 26,
								Line:   37,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 41,
										Line:   39,
									},
									File:   "unique_test.flux",
									Source: "columns: [\"_start\", \"_stop\"]",
									Start: ast.Position{
										Column: 13,
										Line:   39,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   39,
										},
										File:   "unique_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   39,
											},
											File:   "unique_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   39,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   39,
											},
											File:   "unique_test.flux",
											Source: "[\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 22,
												Line:   39,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 31,
													Line:   39,
												},
												File:   "unique_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 23,
													Line:   39,
												},
											},
										},
										Value: "_start",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   39,
												},
												File:   "unique_test.flux",
												Source: "\"_stop\"",
												Start: ast.Position{
													Column: 33,
													Line:   39,
												},
											},
										},
										Value: "_stop",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   39,
								},
								File:   "unique_test.flux",
								Source: "drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 8,
									Line:   39,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   39,
									},
									File:   "unique_test.flux",
									Source: "drop",
									Start: ast.Position{
										Column: 8,
										Line:   39,
									},
								},
							},
							Name: "drop",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   37,
							},
							File:   "unique_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   37,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   37,
								},
								File:   "unique_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   37,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   37,
							},
							File:   "unique_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   37,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   41,
						},
						File:   "unique_test.flux",
						Source: "_unique = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_unique})",
						Start: ast.Position{
							Column: 6,
							Line:   41,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   41,
							},
							File:   "unique_test.flux",
							Source: "_unique",
							Start: ast.Position{
								Column: 6,
								Line:   41,
							},
						},
					},
					Name: "_unique",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   41,
							},
							File:   "unique_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_unique})",
							Start: ast.Position{
								Column: 16,
								Line:   41,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   41,
								},
								File:   "unique_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_unique})",
								Start: ast.Position{
									Column: 22,
									Line:   41,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   41,
									},
									File:   "unique_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_unique}",
									Start: ast.Position{
										Column: 23,
										Line:   41,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   41,
										},
										File:   "unique_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 24,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   41,
											},
											File:   "unique_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 24,
												Line:   41,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   41,
												},
												File:   "unique_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 51,
													Line:   41,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   41,
													},
													File:   "unique_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 51,
														Line:   41,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   41,
														},
														File:   "unique_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 51,
															Line:   41,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   41,
														},
														File:   "unique_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 56,
															Line:   41,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   41,
											},
											File:   "unique_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 31,
												Line:   41,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   41,
												},
												File:   "unique_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 31,
													Line:   41,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   41,
													},
													File:   "unique_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 31,
														Line:   41,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   41,
													},
													File:   "unique_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 39,
														Line:   41,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 100,
											Line:   41,
										},
										File:   "unique_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 65,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   41,
											},
											File:   "unique_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 65,
												Line:   41,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   41,
												},
												File:   "unique_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 87,
													Line:   41,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   41,
													},
													File:   "unique_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 87,
														Line:   41,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 90,
															Line:   41,
														},
														File:   "unique_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 87,
															Line:   41,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   41,
														},
														File:   "unique_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 92,
															Line:   41,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 100,
												Line:   41,
											},
											File:   "unique_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 71,
												Line:   41,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 86,
													Line:   41,
												},
												File:   "unique_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 71,
													Line:   41,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   41,
													},
													File:   "unique_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 71,
														Line:   41,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   41,
													},
													File:   "unique_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 79,
														Line:   41,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   41,
										},
										File:   "unique_test.flux",
										Source: "fn: t_unique",
										Start: ast.Position{
											Column: 102,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   41,
											},
											File:   "unique_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 102,
												Line:   41,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   41,
											},
											File:   "unique_test.flux",
											Source: "t_unique",
											Start: ast.Position{
												Column: 106,
												Line:   41,
											},
										},
									},
									Name: "t_unique",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   41,
					},
					File:   "unique_test.flux",
					Source: "test _unique = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_unique})",
					Start: ast.Position{
						Column: 1,
						Line:   41,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "unique_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "unique_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "unique_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "unique_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "unique_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 128,
					Line:   37,
				},
				File:   "universe_truncateTimeColumn_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:10.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:20.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:30.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:40.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:50.000000000Z,_m,FF,1\n\"\noutData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_field,_measurement,_time,_value\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n\"\nt_uni_truncate = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> truncateTimeColumn(timeColumn: \"_time\", unit: 1h)\n\ntest _uni_truncate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_uni_truncate})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "universe_truncateTimeColumn_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "universe_truncateTimeColumn_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "universe_truncateTimeColumn_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "universe_truncateTimeColumn_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "universe_truncateTimeColumn_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:10.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:20.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:30.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:40.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:50.000000000Z,_m,FF,1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:10.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:20.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:30.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:40.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:50.000000000Z,_m,FF,1\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,string,string,long\n#group,false,false,false,true,true,false\n#default,_result,,,,,\n,result,table,_time,_measurement,_field,_value\n,,0,2018-05-22T19:53:00.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:10.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:20.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:30.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:40.000000000Z,_m,FF,1\n,,0,2018-05-22T19:53:50.000000000Z,_m,FF,1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "universe_truncateTimeColumn_test.flux",
					Source: "outData = \"\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_field,_measurement,_time,_value\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "\"\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_field,_measurement,_time,_value\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,string,string,dateTime:RFC3339,long\n#group,false,false,true,true,false,false\n#default,_result,,,,,\n,result,table,_field,_measurement,_time,_value\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n,,0,FF,_m,2018-05-22T19:00:00.000000000Z,1\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 57,
						Line:   35,
					},
					File:   "universe_truncateTimeColumn_test.flux",
					Source: "t_uni_truncate = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> truncateTimeColumn(timeColumn: \"_time\", unit: 1h)",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   32,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "t_uni_truncate",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "t_uni_truncate",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 57,
							Line:   35,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> truncateTimeColumn(timeColumn: \"_time\", unit: 1h)",
						Start: ast.Position{
							Column: 18,
							Line:   32,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   32,
										},
										File:   "universe_truncateTimeColumn_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 32,
											Line:   32,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   33,
									},
									File:   "universe_truncateTimeColumn_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:00Z)",
									Start: ast.Position{
										Column: 32,
										Line:   32,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   33,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "start: 2018-05-22T19:53:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   33,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   33,
												},
												File:   "universe_truncateTimeColumn_test.flux",
												Source: "start: 2018-05-22T19:53:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   33,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   33,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   33,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   33,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "2018-05-22T19:53:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   33,
													},
												},
											},
											Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 42,
											Line:   33,
										},
										File:   "universe_truncateTimeColumn_test.flux",
										Source: "range(start: 2018-05-22T19:53:00Z)",
										Start: ast.Position{
											Column: 8,
											Line:   33,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   33,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   33,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   34,
								},
								File:   "universe_truncateTimeColumn_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])",
								Start: ast.Position{
									Column: 32,
									Line:   32,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   34,
										},
										File:   "universe_truncateTimeColumn_test.flux",
										Source: "columns: [\"_start\", \"_stop\"]",
										Start: ast.Position{
											Column: 13,
											Line:   34,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   34,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "columns: [\"_start\", \"_stop\"]",
											Start: ast.Position{
												Column: 13,
												Line:   34,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   34,
												},
												File:   "universe_truncateTimeColumn_test.flux",
												Source: "columns",
												Start: ast.Position{
													Column: 13,
													Line:   34,
												},
											},
										},
										Name: "columns",
									},
									Separator: nil,
									Value: &ast.ArrayExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   34,
												},
												File:   "universe_truncateTimeColumn_test.flux",
												Source: "[\"_start\", \"_stop\"]",
												Start: ast.Position{
													Column: 22,
													Line:   34,
												},
											},
										},
										Elements: []ast.Expression{&ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   34,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "\"_start\"",
													Start: ast.Position{
														Column: 23,
														Line:   34,
													},
												},
											},
											Value: "_start",
										}, &ast.StringLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 40,
														Line:   34,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "\"_stop\"",
													Start: ast.Position{
														Column: 33,
														Line:   34,
													},
												},
											},
											Value: "_stop",
										}},
										Lbrack: nil,
										Rbrack: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   34,
									},
									File:   "universe_truncateTimeColumn_test.flux",
									Source: "drop(columns: [\"_start\", \"_stop\"])",
									Start: ast.Position{
										Column: 8,
										Line:   34,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 12,
											Line:   34,
										},
										File:   "universe_truncateTimeColumn_test.flux",
										Source: "drop",
										Start: ast.Position{
											Column: 8,
											Line:   34,
										},
									},
								},
								Name: "drop",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 57,
								Line:   35,
							},
							File:   "universe_truncateTimeColumn_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> drop(columns: [\"_start\", \"_stop\"])\n    |> truncateTimeColumn(timeColumn: \"_time\", unit: 1h)",
							Start: ast.Position{
								Column: 32,
								Line:   32,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 56,
										Line:   35,
									},
									File:   "universe_truncateTimeColumn_test.flux",
									Source: "timeColumn: \"_time\", unit: 1h",
									Start: ast.Position{
										Column: 27,
										Line:   35,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 46,
											Line:   35,
										},
										File:   "universe_truncateTimeColumn_test.flux",
										Source: "timeColumn: \"_time\"",
										Start: ast.Position{
											Column: 27,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   35,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "timeColumn",
											Start: ast.Position{
												Column: 27,
												Line:   35,
											},
										},
									},
									Name: "timeColumn",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 46,
												Line:   35,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "\"_time\"",
											Start: ast.Position{
												Column: 39,
												Line:   35,
											},
										},
									},
									Value: "_time",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 56,
											Line:   35,
										},
										File:   "universe_truncateTimeColumn_test.flux",
										Source: "unit: 1h",
										Start: ast.Position{
											Column: 48,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 52,
												Line:   35,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "unit",
											Start: ast.Position{
												Column: 48,
												Line:   35,
											},
										},
									},
									Name: "unit",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 56,
												Line:   35,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "1h",
											Start: ast.Position{
												Column: 54,
												Line:   35,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(1),
										Unit:      "h",
									}},
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 57,
									Line:   35,
								},
								File:   "universe_truncateTimeColumn_test.flux",
								Source: "truncateTimeColumn(timeColumn: \"_time\", unit: 1h)",
								Start: ast.Position{
									Column: 8,
									Line:   35,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 26,
										Line:   35,
									},
									File:   "universe_truncateTimeColumn_test.flux",
									Source: "truncateTimeColumn",
									Start: ast.Position{
										Column: 8,
										Line:   35,
									},
								},
							},
							Name: "truncateTimeColumn",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   32,
							},
							File:   "universe_truncateTimeColumn_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 19,
								Line:   32,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   32,
								},
								File:   "universe_truncateTimeColumn_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 19,
									Line:   32,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   32,
							},
							File:   "universe_truncateTimeColumn_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 25,
								Line:   32,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 128,
							Line:   37,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "_uni_truncate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_uni_truncate})",
						Start: ast.Position{
							Column: 6,
							Line:   37,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   37,
							},
							File:   "universe_truncateTimeColumn_test.flux",
							Source: "_uni_truncate",
							Start: ast.Position{
								Column: 6,
								Line:   37,
							},
						},
					},
					Name: "_uni_truncate",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 128,
								Line:   37,
							},
							File:   "universe_truncateTimeColumn_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_uni_truncate})",
							Start: ast.Position{
								Column: 22,
								Line:   37,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 128,
									Line:   37,
								},
								File:   "universe_truncateTimeColumn_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_uni_truncate})",
								Start: ast.Position{
									Column: 28,
									Line:   37,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 127,
										Line:   37,
									},
									File:   "universe_truncateTimeColumn_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_uni_truncate}",
									Start: ast.Position{
										Column: 29,
										Line:   37,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   37,
										},
										File:   "universe_truncateTimeColumn_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 30,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 35,
												Line:   37,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 30,
												Line:   37,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 68,
													Line:   37,
												},
												File:   "universe_truncateTimeColumn_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 57,
													Line:   37,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 68,
														Line:   37,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 57,
														Line:   37,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 60,
															Line:   37,
														},
														File:   "universe_truncateTimeColumn_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 57,
															Line:   37,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 68,
															Line:   37,
														},
														File:   "universe_truncateTimeColumn_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 62,
															Line:   37,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   37,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 37,
												Line:   37,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   37,
												},
												File:   "universe_truncateTimeColumn_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 37,
													Line:   37,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   37,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 37,
														Line:   37,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   37,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 45,
														Line:   37,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 106,
											Line:   37,
										},
										File:   "universe_truncateTimeColumn_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 71,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   37,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 71,
												Line:   37,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 105,
													Line:   37,
												},
												File:   "universe_truncateTimeColumn_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 93,
													Line:   37,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   37,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 93,
														Line:   37,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 96,
															Line:   37,
														},
														File:   "universe_truncateTimeColumn_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 93,
															Line:   37,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   37,
														},
														File:   "universe_truncateTimeColumn_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 98,
															Line:   37,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 106,
												Line:   37,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 77,
												Line:   37,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 92,
													Line:   37,
												},
												File:   "universe_truncateTimeColumn_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 77,
													Line:   37,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 84,
														Line:   37,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 77,
														Line:   37,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 92,
														Line:   37,
													},
													File:   "universe_truncateTimeColumn_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 85,
														Line:   37,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 126,
											Line:   37,
										},
										File:   "universe_truncateTimeColumn_test.flux",
										Source: "fn: t_uni_truncate",
										Start: ast.Position{
											Column: 108,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 110,
												Line:   37,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 108,
												Line:   37,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 126,
												Line:   37,
											},
											File:   "universe_truncateTimeColumn_test.flux",
											Source: "t_uni_truncate",
											Start: ast.Position{
												Column: 112,
												Line:   37,
											},
										},
									},
									Name: "t_uni_truncate",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 128,
						Line:   37,
					},
					File:   "universe_truncateTimeColumn_test.flux",
					Source: "test _uni_truncate = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_uni_truncate})",
					Start: ast.Position{
						Column: 1,
						Line:   37,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "universe_truncateTimeColumn_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "universe_truncateTimeColumn_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "universe_truncateTimeColumn_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "universe_truncateTimeColumn_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   43,
				},
				File:   "window_aggregate_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,k\n,,0,1970-01-01T00:00:00Z,0,f,m0,k0\n,,0,1970-01-01T00:00:01Z,1,f,m0,k0\n,,0,1970-01-01T00:00:02Z,2,f,m0,k0\n,,0,1970-01-01T00:00:03Z,3,f,m0,k0\n,,0,1970-01-01T00:00:04Z,4,f,m0,k0\n,,0,1970-01-01T00:00:05Z,5,f,m0,k0\n,,0,1970-01-01T00:00:06Z,6,f,m0,k0\n,,0,1970-01-01T00:00:07Z,5,f,m0,k0\n,,0,1970-01-01T00:00:08Z,0,f,m0,k0\n,,0,1970-01-01T00:00:09Z,6,f,m0,k0\n,,0,1970-01-01T00:00:10Z,6,f,m0,k0\n,,0,1970-01-01T00:00:11Z,7,f,m0,k0\n,,0,1970-01-01T00:00:12Z,5,f,m0,k0\n,,0,1970-01-01T00:00:13Z,8,f,m0,k0\n,,0,1970-01-01T00:00:14Z,9,f,m0,k0\n,,0,1970-01-01T00:00:15Z,5,f,m0,k0\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,true,true,false,true,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_value,_field,_measurement,k\n,,0,1970-01-01T00:00:00Z,1970-01-01T00:00:02Z,2,f,m0,k0\n,,1,1970-01-01T00:00:02Z,1970-01-01T00:00:07Z,5,f,m0,k0\n,,2,1970-01-01T00:00:07Z,1970-01-01T00:00:12Z,5,f,m0,k0\n,,3,1970-01-01T00:00:12Z,1970-01-01T00:00:15Z,3,f,m0,k0\n\"\nt_window = (table=<-) => table\n    |> range(start: 1970-01-01T00:00:00Z, stop: 1970-01-01T00:00:15Z)\n    |> window(every: 5s, offset: 2s)\n    |> count()\n\ntest _window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   27,
					},
					File:   "window_aggregate_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,k\n,,0,1970-01-01T00:00:00Z,0,f,m0,k0\n,,0,1970-01-01T00:00:01Z,1,f,m0,k0\n,,0,1970-01-01T00:00:02Z,2,f,m0,k0\n,,0,1970-01-01T00:00:03Z,3,f,m0,k0\n,,0,1970-01-01T00:00:04Z,4,f,m0,k0\n,,0,1970-01-01T00:00:05Z,5,f,m0,k0\n,,0,1970-01-01T00:00:06Z,6,f,m0,k0\n,,0,1970-01-01T00:00:07Z,5,f,m0,k0\n,,0,1970-01-01T00:00:08Z,0,f,m0,k0\n,,0,1970-01-01T00:00:09Z,6,f,m0,k0\n,,0,1970-01-01T00:00:10Z,6,f,m0,k0\n,,0,1970-01-01T00:00:11Z,7,f,m0,k0\n,,0,1970-01-01T00:00:12Z,5,f,m0,k0\n,,0,1970-01-01T00:00:13Z,8,f,m0,k0\n,,0,1970-01-01T00:00:14Z,9,f,m0,k0\n,,0,1970-01-01T00:00:15Z,5,f,m0,k0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "window_aggregate_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   27,
						},
						File:   "window_aggregate_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,k\n,,0,1970-01-01T00:00:00Z,0,f,m0,k0\n,,0,1970-01-01T00:00:01Z,1,f,m0,k0\n,,0,1970-01-01T00:00:02Z,2,f,m0,k0\n,,0,1970-01-01T00:00:03Z,3,f,m0,k0\n,,0,1970-01-01T00:00:04Z,4,f,m0,k0\n,,0,1970-01-01T00:00:05Z,5,f,m0,k0\n,,0,1970-01-01T00:00:06Z,6,f,m0,k0\n,,0,1970-01-01T00:00:07Z,5,f,m0,k0\n,,0,1970-01-01T00:00:08Z,0,f,m0,k0\n,,0,1970-01-01T00:00:09Z,6,f,m0,k0\n,,0,1970-01-01T00:00:10Z,6,f,m0,k0\n,,0,1970-01-01T00:00:11Z,7,f,m0,k0\n,,0,1970-01-01T00:00:12Z,5,f,m0,k0\n,,0,1970-01-01T00:00:13Z,8,f,m0,k0\n,,0,1970-01-01T00:00:14Z,9,f,m0,k0\n,,0,1970-01-01T00:00:15Z,5,f,m0,k0\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,k\n,,0,1970-01-01T00:00:00Z,0,f,m0,k0\n,,0,1970-01-01T00:00:01Z,1,f,m0,k0\n,,0,1970-01-01T00:00:02Z,2,f,m0,k0\n,,0,1970-01-01T00:00:03Z,3,f,m0,k0\n,,0,1970-01-01T00:00:04Z,4,f,m0,k0\n,,0,1970-01-01T00:00:05Z,5,f,m0,k0\n,,0,1970-01-01T00:00:06Z,6,f,m0,k0\n,,0,1970-01-01T00:00:07Z,5,f,m0,k0\n,,0,1970-01-01T00:00:08Z,0,f,m0,k0\n,,0,1970-01-01T00:00:09Z,6,f,m0,k0\n,,0,1970-01-01T00:00:10Z,6,f,m0,k0\n,,0,1970-01-01T00:00:11Z,7,f,m0,k0\n,,0,1970-01-01T00:00:12Z,5,f,m0,k0\n,,0,1970-01-01T00:00:13Z,8,f,m0,k0\n,,0,1970-01-01T00:00:14Z,9,f,m0,k0\n,,0,1970-01-01T00:00:15Z,5,f,m0,k0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "window_aggregate_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,true,true,false,true,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_value,_field,_measurement,k\n,,0,1970-01-01T00:00:00Z,1970-01-01T00:00:02Z,2,f,m0,k0\n,,1,1970-01-01T00:00:02Z,1970-01-01T00:00:07Z,5,f,m0,k0\n,,2,1970-01-01T00:00:07Z,1970-01-01T00:00:12Z,5,f,m0,k0\n,,3,1970-01-01T00:00:12Z,1970-01-01T00:00:15Z,3,f,m0,k0\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   28,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   28,
						},
						File:   "window_aggregate_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   28,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "window_aggregate_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,true,true,false,true,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_value,_field,_measurement,k\n,,0,1970-01-01T00:00:00Z,1970-01-01T00:00:02Z,2,f,m0,k0\n,,1,1970-01-01T00:00:02Z,1970-01-01T00:00:07Z,5,f,m0,k0\n,,2,1970-01-01T00:00:07Z,1970-01-01T00:00:12Z,5,f,m0,k0\n,,3,1970-01-01T00:00:12Z,1970-01-01T00:00:15Z,3,f,m0,k0\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   28,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,long,string,string,string\n#group,false,false,true,true,false,true,true,true\n#default,_result,,,,,,,\n,result,table,_start,_stop,_value,_field,_measurement,k\n,,0,1970-01-01T00:00:00Z,1970-01-01T00:00:02Z,2,f,m0,k0\n,,1,1970-01-01T00:00:02Z,1970-01-01T00:00:07Z,5,f,m0,k0\n,,2,1970-01-01T00:00:07Z,1970-01-01T00:00:12Z,5,f,m0,k0\n,,3,1970-01-01T00:00:12Z,1970-01-01T00:00:15Z,3,f,m0,k0\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 15,
						Line:   41,
					},
					File:   "window_aggregate_test.flux",
					Source: "t_window = (table=<-) => table\n    |> range(start: 1970-01-01T00:00:00Z, stop: 1970-01-01T00:00:15Z)\n    |> window(every: 5s, offset: 2s)\n    |> count()",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   38,
						},
						File:   "window_aggregate_test.flux",
						Source: "t_window",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_window",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 15,
							Line:   41,
						},
						File:   "window_aggregate_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 1970-01-01T00:00:00Z, stop: 1970-01-01T00:00:15Z)\n    |> window(every: 5s, offset: 2s)\n    |> count()",
						Start: ast.Position{
							Column: 12,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 31,
											Line:   38,
										},
										File:   "window_aggregate_test.flux",
										Source: "table",
										Start: ast.Position{
											Column: 26,
											Line:   38,
										},
									},
								},
								Name: "table",
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   39,
									},
									File:   "window_aggregate_test.flux",
									Source: "table\n    |> range(start: 1970-01-01T00:00:00Z, stop: 1970-01-01T00:00:15Z)",
									Start: ast.Position{
										Column: 26,
										Line:   38,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   39,
											},
											File:   "window_aggregate_test.flux",
											Source: "start: 1970-01-01T00:00:00Z, stop: 1970-01-01T00:00:15Z",
											Start: ast.Position{
												Column: 14,
												Line:   39,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   39,
												},
												File:   "window_aggregate_test.flux",
												Source: "start: 1970-01-01T00:00:00Z",
												Start: ast.Position{
													Column: 14,
													Line:   39,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   39,
													},
													File:   "window_aggregate_test.flux",
													Source: "start",
													Start: ast.Position{
														Column: 14,
														Line:   39,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 41,
														Line:   39,
													},
													File:   "window_aggregate_test.flux",
													Source: "1970-01-01T00:00:00Z",
													Start: ast.Position{
														Column: 21,
														Line:   39,
													},
												},
											},
											Value: parser.MustParseTime("1970-01-01T00:00:00Z"),
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   39,
												},
												File:   "window_aggregate_test.flux",
												Source: "stop: 1970-01-01T00:00:15Z",
												Start: ast.Position{
													Column: 43,
													Line:   39,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 47,
														Line:   39,
													},
													File:   "window_aggregate_test.flux",
													Source: "stop",
													Start: ast.Position{
														Column: 43,
														Line:   39,
													},
												},
											},
											Name: "stop",
										},
										Separator: nil,
										Value: &ast.DateTimeLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   39,
													},
													File:   "window_aggregate_test.flux",
													Source: "1970-01-01T00:00:15Z",
													Start: ast.Position{
														Column: 49,
														Line:   39,
													},
												},
											},
											Value: parser.MustParseTime("1970-01-01T00:00:15Z"),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   39,
										},
										File:   "window_aggregate_test.flux",
										Source: "range(start: 1970-01-01T00:00:00Z, stop: 1970-01-01T00:00:15Z)",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 13,
												Line:   39,
											},
											File:   "window_aggregate_test.flux",
											Source: "range",
											Start: ast.Position{
												Column: 8,
												Line:   39,
											},
										},
									},
									Name: "range",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   40,
								},
								File:   "window_aggregate_test.flux",
								Source: "table\n    |> range(start: 1970-01-01T00:00:00Z, stop: 1970-01-01T00:00:15Z)\n    |> window(every: 5s, offset: 2s)",
								Start: ast.Position{
									Column: 26,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 36,
											Line:   40,
										},
										File:   "window_aggregate_test.flux",
										Source: "every: 5s, offset: 2s",
										Start: ast.Position{
											Column: 15,
											Line:   40,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   40,
											},
											File:   "window_aggregate_test.flux",
											Source: "every: 5s",
											Start: ast.Position{
												Column: 15,
												Line:   40,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 20,
													Line:   40,
												},
												File:   "window_aggregate_test.flux",
												Source: "every",
												Start: ast.Position{
													Column: 15,
													Line:   40,
												},
											},
										},
										Name: "every",
									},
									Separator: nil,
									Value: &ast.DurationLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   40,
												},
												File:   "window_aggregate_test.flux",
												Source: "5s",
												Start: ast.Position{
													Column: 22,
													Line:   40,
												},
											},
										},
										Values: []ast.Duration{ast.Duration{
											Magnitude: int64(5),
											Unit:      "s",
										}},
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 36,
												Line:   40,
											},
											File:   "window_aggregate_test.flux",
											Source: "offset: 2s",
											Start: ast.Position{
												Column: 26,
												Line:   40,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   40,
												},
												File:   "window_aggregate_test.flux",
												Source: "offset",
												Start: ast.Position{
													Column: 26,
													Line:   40,
												},
											},
										},
										Name: "offset",
									},
									Separator: nil,
									Value: &ast.DurationLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 36,
													Line:   40,
												},
												File:   "window_aggregate_test.flux",
												Source: "2s",
												Start: ast.Position{
													Column: 34,
													Line:   40,
												},
											},
										},
										Values: []ast.Duration{ast.Duration{
											Magnitude: int64(2),
											Unit:      "s",
										}},
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   40,
									},
									File:   "window_aggregate_test.flux",
									Source: "window(every: 5s, offset: 2s)",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   40,
										},
										File:   "window_aggregate_test.flux",
										Source: "window",
										Start: ast.Position{
											Column: 8,
											Line:   40,
										},
									},
								},
								Name: "window",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   41,
							},
							File:   "window_aggregate_test.flux",
							Source: "table\n    |> range(start: 1970-01-01T00:00:00Z, stop: 1970-01-01T00:00:15Z)\n    |> window(every: 5s, offset: 2s)\n    |> count()",
							Start: ast.Position{
								Column: 26,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   41,
								},
								File:   "window_aggregate_test.flux",
								Source: "count()",
								Start: ast.Position{
									Column: 8,
									Line:   41,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   41,
									},
									File:   "window_aggregate_test.flux",
									Source: "count",
									Start: ast.Position{
										Column: 8,
										Line:   41,
									},
								},
							},
							Name: "count",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   38,
							},
							File:   "window_aggregate_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   38,
								},
								File:   "window_aggregate_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   38,
							},
							File:   "window_aggregate_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   43,
						},
						File:   "window_aggregate_test.flux",
						Source: "_window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
						Start: ast.Position{
							Column: 6,
							Line:   43,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   43,
							},
							File:   "window_aggregate_test.flux",
							Source: "_window",
							Start: ast.Position{
								Column: 6,
								Line:   43,
							},
						},
					},
					Name: "_window",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   43,
							},
							File:   "window_aggregate_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
							Start: ast.Position{
								Column: 16,
								Line:   43,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   43,
								},
								File:   "window_aggregate_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
								Start: ast.Position{
									Column: 22,
									Line:   43,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   43,
									},
									File:   "window_aggregate_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window}",
									Start: ast.Position{
										Column: 23,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   43,
										},
										File:   "window_aggregate_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 24,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   43,
											},
											File:   "window_aggregate_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 24,
												Line:   43,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   43,
												},
												File:   "window_aggregate_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 51,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   43,
													},
													File:   "window_aggregate_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 51,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   43,
														},
														File:   "window_aggregate_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 51,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   43,
														},
														File:   "window_aggregate_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 56,
															Line:   43,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   43,
											},
											File:   "window_aggregate_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 31,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   43,
												},
												File:   "window_aggregate_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 31,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   43,
													},
													File:   "window_aggregate_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 31,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   43,
													},
													File:   "window_aggregate_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 39,
														Line:   43,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 100,
											Line:   43,
										},
										File:   "window_aggregate_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 65,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   43,
											},
											File:   "window_aggregate_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 65,
												Line:   43,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   43,
												},
												File:   "window_aggregate_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 87,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   43,
													},
													File:   "window_aggregate_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 87,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 90,
															Line:   43,
														},
														File:   "window_aggregate_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 87,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   43,
														},
														File:   "window_aggregate_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 92,
															Line:   43,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 100,
												Line:   43,
											},
											File:   "window_aggregate_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 71,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 86,
													Line:   43,
												},
												File:   "window_aggregate_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 71,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   43,
													},
													File:   "window_aggregate_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 71,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   43,
													},
													File:   "window_aggregate_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 79,
														Line:   43,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   43,
										},
										File:   "window_aggregate_test.flux",
										Source: "fn: t_window",
										Start: ast.Position{
											Column: 102,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   43,
											},
											File:   "window_aggregate_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 102,
												Line:   43,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   43,
											},
											File:   "window_aggregate_test.flux",
											Source: "t_window",
											Start: ast.Position{
												Column: 106,
												Line:   43,
											},
										},
									},
									Name: "t_window",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   43,
					},
					File:   "window_aggregate_test.flux",
					Source: "test _window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "window_aggregate_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "window_aggregate_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "window_aggregate_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "window_aggregate_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "window_aggregate_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 156,
					Line:   35,
				},
				File:   "window_default_start_align_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,0,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,0,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,0,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,0,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,0,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,1,2018-05-22T19:55:00Z,2018-05-22T19:56:00Z,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,2,2018-05-22T19:56:00Z,2018-05-22T19:57:00Z,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,3,2018-05-22T19:57:00Z,2018-05-22T19:58:00Z,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,4,2018-05-22T19:58:00Z,2018-05-22T19:59:00Z,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"\nt_window_default_start_align = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:30Z, stop: 2018-05-22T19:59:00Z)\n    |> window(every: 1m)\n\ntest _window_default_start_align = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_default_start_align})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "window_default_start_align_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "window_default_start_align_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "window_default_start_align_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "window_default_start_align_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "window_default_start_align_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "window_default_start_align_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,0,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,0,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,0,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,0,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,0,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "window_default_start_align_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "window_default_start_align_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,0,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,0,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,0,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,0,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,0,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,0,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,0,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,0,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,0,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,0,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   30,
					},
					File:   "window_default_start_align_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,1,2018-05-22T19:55:00Z,2018-05-22T19:56:00Z,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,2,2018-05-22T19:56:00Z,2018-05-22T19:57:00Z,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,3,2018-05-22T19:57:00Z,2018-05-22T19:58:00Z,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,4,2018-05-22T19:58:00Z,2018-05-22T19:59:00Z,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "window_default_start_align_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   30,
						},
						File:   "window_default_start_align_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,1,2018-05-22T19:55:00Z,2018-05-22T19:56:00Z,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,2,2018-05-22T19:56:00Z,2018-05-22T19:57:00Z,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,3,2018-05-22T19:57:00Z,2018-05-22T19:58:00Z,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,4,2018-05-22T19:58:00Z,2018-05-22T19:59:00Z,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:54:00Z,2018-05-22T19:55:00Z,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,1,2018-05-22T19:55:00Z,2018-05-22T19:56:00Z,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,2,2018-05-22T19:56:00Z,2018-05-22T19:57:00Z,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,3,2018-05-22T19:57:00Z,2018-05-22T19:58:00Z,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,4,2018-05-22T19:58:00Z,2018-05-22T19:59:00Z,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 25,
						Line:   33,
					},
					File:   "window_default_start_align_test.flux",
					Source: "t_window_default_start_align = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:30Z, stop: 2018-05-22T19:59:00Z)\n    |> window(every: 1m)",
					Start: ast.Position{
						Column: 1,
						Line:   31,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 29,
							Line:   31,
						},
						File:   "window_default_start_align_test.flux",
						Source: "t_window_default_start_align",
						Start: ast.Position{
							Column: 1,
							Line:   31,
						},
					},
				},
				Name: "t_window_default_start_align",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 25,
							Line:   33,
						},
						File:   "window_default_start_align_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:30Z, stop: 2018-05-22T19:59:00Z)\n    |> window(every: 1m)",
						Start: ast.Position{
							Column: 32,
							Line:   31,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 51,
										Line:   31,
									},
									File:   "window_default_start_align_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 46,
										Line:   31,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   32,
								},
								File:   "window_default_start_align_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:30Z, stop: 2018-05-22T19:59:00Z)",
								Start: ast.Position{
									Column: 46,
									Line:   31,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   32,
										},
										File:   "window_default_start_align_test.flux",
										Source: "start: 2018-05-22T19:53:30Z, stop: 2018-05-22T19:59:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   32,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   32,
											},
											File:   "window_default_start_align_test.flux",
											Source: "start: 2018-05-22T19:53:30Z",
											Start: ast.Position{
												Column: 14,
												Line:   32,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   32,
												},
												File:   "window_default_start_align_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   32,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   32,
												},
												File:   "window_default_start_align_test.flux",
												Source: "2018-05-22T19:53:30Z",
												Start: ast.Position{
													Column: 21,
													Line:   32,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:30Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   32,
											},
											File:   "window_default_start_align_test.flux",
											Source: "stop: 2018-05-22T19:59:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   32,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   32,
												},
												File:   "window_default_start_align_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   32,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   32,
												},
												File:   "window_default_start_align_test.flux",
												Source: "2018-05-22T19:59:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   32,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:59:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   32,
									},
									File:   "window_default_start_align_test.flux",
									Source: "range(start: 2018-05-22T19:53:30Z, stop: 2018-05-22T19:59:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   32,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   32,
										},
										File:   "window_default_start_align_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   32,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   33,
							},
							File:   "window_default_start_align_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:30Z, stop: 2018-05-22T19:59:00Z)\n    |> window(every: 1m)",
							Start: ast.Position{
								Column: 46,
								Line:   31,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 24,
										Line:   33,
									},
									File:   "window_default_start_align_test.flux",
									Source: "every: 1m",
									Start: ast.Position{
										Column: 15,
										Line:   33,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   33,
										},
										File:   "window_default_start_align_test.flux",
										Source: "every: 1m",
										Start: ast.Position{
											Column: 15,
											Line:   33,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   33,
											},
											File:   "window_default_start_align_test.flux",
											Source: "every",
											Start: ast.Position{
												Column: 15,
												Line:   33,
											},
										},
									},
									Name: "every",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   33,
											},
											File:   "window_default_start_align_test.flux",
											Source: "1m",
											Start: ast.Position{
												Column: 22,
												Line:   33,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(1),
										Unit:      "m",
									}},
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   33,
								},
								File:   "window_default_start_align_test.flux",
								Source: "window(every: 1m)",
								Start: ast.Position{
									Column: 8,
									Line:   33,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   33,
									},
									File:   "window_default_start_align_test.flux",
									Source: "window",
									Start: ast.Position{
										Column: 8,
										Line:   33,
									},
								},
							},
							Name: "window",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 41,
								Line:   31,
							},
							File:   "window_default_start_align_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 33,
								Line:   31,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 38,
									Line:   31,
								},
								File:   "window_default_start_align_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 33,
									Line:   31,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 41,
								Line:   31,
							},
							File:   "window_default_start_align_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 39,
								Line:   31,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 156,
							Line:   35,
						},
						File:   "window_default_start_align_test.flux",
						Source: "_window_default_start_align = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_default_start_align})",
						Start: ast.Position{
							Column: 6,
							Line:   35,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   35,
							},
							File:   "window_default_start_align_test.flux",
							Source: "_window_default_start_align",
							Start: ast.Position{
								Column: 6,
								Line:   35,
							},
						},
					},
					Name: "_window_default_start_align",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 156,
								Line:   35,
							},
							File:   "window_default_start_align_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_default_start_align})",
							Start: ast.Position{
								Column: 36,
								Line:   35,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 156,
									Line:   35,
								},
								File:   "window_default_start_align_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_default_start_align})",
								Start: ast.Position{
									Column: 42,
									Line:   35,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 155,
										Line:   35,
									},
									File:   "window_default_start_align_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_default_start_align}",
									Start: ast.Position{
										Column: 43,
										Line:   35,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 83,
											Line:   35,
										},
										File:   "window_default_start_align_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 44,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 49,
												Line:   35,
											},
											File:   "window_default_start_align_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 44,
												Line:   35,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 82,
													Line:   35,
												},
												File:   "window_default_start_align_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 71,
													Line:   35,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 82,
														Line:   35,
													},
													File:   "window_default_start_align_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 71,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   35,
														},
														File:   "window_default_start_align_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 71,
															Line:   35,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 82,
															Line:   35,
														},
														File:   "window_default_start_align_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 76,
															Line:   35,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 83,
												Line:   35,
											},
											File:   "window_default_start_align_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 51,
												Line:   35,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   35,
												},
												File:   "window_default_start_align_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 51,
													Line:   35,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 58,
														Line:   35,
													},
													File:   "window_default_start_align_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 51,
														Line:   35,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   35,
													},
													File:   "window_default_start_align_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 59,
														Line:   35,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 120,
											Line:   35,
										},
										File:   "window_default_start_align_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 85,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 89,
												Line:   35,
											},
											File:   "window_default_start_align_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 85,
												Line:   35,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 119,
													Line:   35,
												},
												File:   "window_default_start_align_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 107,
													Line:   35,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 119,
														Line:   35,
													},
													File:   "window_default_start_align_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 107,
														Line:   35,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 110,
															Line:   35,
														},
														File:   "window_default_start_align_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 107,
															Line:   35,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 119,
															Line:   35,
														},
														File:   "window_default_start_align_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 112,
															Line:   35,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 120,
												Line:   35,
											},
											File:   "window_default_start_align_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 91,
												Line:   35,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 106,
													Line:   35,
												},
												File:   "window_default_start_align_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 91,
													Line:   35,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   35,
													},
													File:   "window_default_start_align_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 91,
														Line:   35,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 106,
														Line:   35,
													},
													File:   "window_default_start_align_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 99,
														Line:   35,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 154,
											Line:   35,
										},
										File:   "window_default_start_align_test.flux",
										Source: "fn: t_window_default_start_align",
										Start: ast.Position{
											Column: 122,
											Line:   35,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 124,
												Line:   35,
											},
											File:   "window_default_start_align_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 122,
												Line:   35,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 154,
												Line:   35,
											},
											File:   "window_default_start_align_test.flux",
											Source: "t_window_default_start_align",
											Start: ast.Position{
												Column: 126,
												Line:   35,
											},
										},
									},
									Name: "t_window_default_start_align",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 156,
						Line:   35,
					},
					File:   "window_default_start_align_test.flux",
					Source: "test _window_default_start_align = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_default_start_align})",
					Start: ast.Position{
						Column: 1,
						Line:   35,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "window_default_start_align_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "window_default_start_align_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "window_default_start_align_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "window_default_start_align_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "window_default_start_align_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 116,
					Line:   46,
				},
				File:   "window_default_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_time,_value\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:26Z,7602668\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:36Z,7602771\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:46Z,7602875\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:56Z,7602937\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:54:06Z,7603073.5\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:54:16Z,7603201.5\n\"\nt_window = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"_measurement\"])\n    |> window(every: 1s)\n    |> mean()\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)\n\ntest _window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "window_default_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "window_default_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "window_default_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "window_default_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "window_default_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "window_default_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "window_default_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "window_default_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   37,
					},
					File:   "window_default_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_time,_value\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:26Z,7602668\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:36Z,7602771\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:46Z,7602875\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:56Z,7602937\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:54:06Z,7603073.5\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:54:16Z,7603201.5\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "window_default_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   37,
						},
						File:   "window_default_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_time,_value\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:26Z,7602668\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:36Z,7602771\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:46Z,7602875\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:56Z,7602937\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:54:06Z,7603073.5\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:54:16Z,7603201.5\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,false,false\n#default,_result,,,,,,\n,result,table,_start,_stop,_measurement,_time,_value\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:26Z,7602668\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:36Z,7602771\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:46Z,7602875\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:53:56Z,7602937\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:54:06Z,7603073.5\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:55:00Z,diskio,2018-05-22T19:54:16Z,7603201.5\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 26,
						Line:   44,
					},
					File:   "window_default_test.flux",
					Source: "t_window = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"_measurement\"])\n    |> window(every: 1s)\n    |> mean()\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)",
					Start: ast.Position{
						Column: 1,
						Line:   38,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   38,
						},
						File:   "window_default_test.flux",
						Source: "t_window",
						Start: ast.Position{
							Column: 1,
							Line:   38,
						},
					},
				},
				Name: "t_window",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 26,
							Line:   44,
						},
						File:   "window_default_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"_measurement\"])\n    |> window(every: 1s)\n    |> mean()\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)",
						Start: ast.Position{
							Column: 12,
							Line:   38,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   38,
													},
													File:   "window_default_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 26,
														Line:   38,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   39,
												},
												File:   "window_default_test.flux",
												Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
												Start: ast.Position{
													Column: 26,
													Line:   38,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   39,
														},
														File:   "window_default_test.flux",
														Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z",
														Start: ast.Position{
															Column: 14,
															Line:   39,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   39,
															},
															File:   "window_default_test.flux",
															Source: "start: 2018-05-22T19:53:00Z",
															Start: ast.Position{
																Column: 14,
																Line:   39,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 19,
																	Line:   39,
																},
																File:   "window_default_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 14,
																	Line:   39,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 41,
																	Line:   39,
																},
																File:   "window_default_test.flux",
																Source: "2018-05-22T19:53:00Z",
																Start: ast.Position{
																	Column: 21,
																	Line:   39,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 69,
																Line:   39,
															},
															File:   "window_default_test.flux",
															Source: "stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 43,
																Line:   39,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   39,
																},
																File:   "window_default_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 43,
																	Line:   39,
																},
															},
														},
														Name: "stop",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 69,
																	Line:   39,
																},
																File:   "window_default_test.flux",
																Source: "2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 49,
																	Line:   39,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   39,
													},
													File:   "window_default_test.flux",
													Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 8,
														Line:   39,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 13,
															Line:   39,
														},
														File:   "window_default_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 8,
															Line:   39,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   40,
											},
											File:   "window_default_test.flux",
											Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"_measurement\"])",
											Start: ast.Position{
												Column: 26,
												Line:   38,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 39,
														Line:   40,
													},
													File:   "window_default_test.flux",
													Source: "columns: [\"_measurement\"]",
													Start: ast.Position{
														Column: 14,
														Line:   40,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 39,
															Line:   40,
														},
														File:   "window_default_test.flux",
														Source: "columns: [\"_measurement\"]",
														Start: ast.Position{
															Column: 14,
															Line:   40,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   40,
															},
															File:   "window_default_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 14,
																Line:   40,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 39,
																Line:   40,
															},
															File:   "window_default_test.flux",
															Source: "[\"_measurement\"]",
															Start: ast.Position{
																Column: 23,
																Line:   40,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 38,
																	Line:   40,
																},
																File:   "window_default_test.flux",
																Source: "\"_measurement\"",
																Start: ast.Position{
																	Column: 24,
																	Line:   40,
																},
															},
														},
														Value: "_measurement",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 40,
													Line:   40,
												},
												File:   "window_default_test.flux",
												Source: "group(columns: [\"_measurement\"])",
												Start: ast.Position{
													Column: 8,
													Line:   40,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   40,
													},
													File:   "window_default_test.flux",
													Source: "group",
													Start: ast.Position{
														Column: 8,
														Line:   40,
													},
												},
											},
											Name: "group",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   41,
										},
										File:   "window_default_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"_measurement\"])\n    |> window(every: 1s)",
										Start: ast.Position{
											Column: 26,
											Line:   38,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   41,
												},
												File:   "window_default_test.flux",
												Source: "every: 1s",
												Start: ast.Position{
													Column: 15,
													Line:   41,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   41,
													},
													File:   "window_default_test.flux",
													Source: "every: 1s",
													Start: ast.Position{
														Column: 15,
														Line:   41,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 20,
															Line:   41,
														},
														File:   "window_default_test.flux",
														Source: "every",
														Start: ast.Position{
															Column: 15,
															Line:   41,
														},
													},
												},
												Name: "every",
											},
											Separator: nil,
											Value: &ast.DurationLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   41,
														},
														File:   "window_default_test.flux",
														Source: "1s",
														Start: ast.Position{
															Column: 22,
															Line:   41,
														},
													},
												},
												Values: []ast.Duration{ast.Duration{
													Magnitude: int64(1),
													Unit:      "s",
												}},
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   41,
											},
											File:   "window_default_test.flux",
											Source: "window(every: 1s)",
											Start: ast.Position{
												Column: 8,
												Line:   41,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   41,
												},
												File:   "window_default_test.flux",
												Source: "window",
												Start: ast.Position{
													Column: 8,
													Line:   41,
												},
											},
										},
										Name: "window",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   42,
									},
									File:   "window_default_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"_measurement\"])\n    |> window(every: 1s)\n    |> mean()",
									Start: ast.Position{
										Column: 26,
										Line:   38,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: nil,
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   42,
										},
										File:   "window_default_test.flux",
										Source: "mean()",
										Start: ast.Position{
											Column: 8,
											Line:   42,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 12,
												Line:   42,
											},
											File:   "window_default_test.flux",
											Source: "mean",
											Start: ast.Position{
												Column: 8,
												Line:   42,
											},
										},
									},
									Name: "mean",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 48,
									Line:   43,
								},
								File:   "window_default_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"_measurement\"])\n    |> window(every: 1s)\n    |> mean()\n    |> duplicate(column: \"_start\", as: \"_time\")",
								Start: ast.Position{
									Column: 26,
									Line:   38,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 47,
											Line:   43,
										},
										File:   "window_default_test.flux",
										Source: "column: \"_start\", as: \"_time\"",
										Start: ast.Position{
											Column: 18,
											Line:   43,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   43,
											},
											File:   "window_default_test.flux",
											Source: "column: \"_start\"",
											Start: ast.Position{
												Column: 18,
												Line:   43,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   43,
												},
												File:   "window_default_test.flux",
												Source: "column",
												Start: ast.Position{
													Column: 18,
													Line:   43,
												},
											},
										},
										Name: "column",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 34,
													Line:   43,
												},
												File:   "window_default_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 26,
													Line:   43,
												},
											},
										},
										Value: "_start",
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 47,
												Line:   43,
											},
											File:   "window_default_test.flux",
											Source: "as: \"_time\"",
											Start: ast.Position{
												Column: 36,
												Line:   43,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 38,
													Line:   43,
												},
												File:   "window_default_test.flux",
												Source: "as",
												Start: ast.Position{
													Column: 36,
													Line:   43,
												},
											},
										},
										Name: "as",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   43,
												},
												File:   "window_default_test.flux",
												Source: "\"_time\"",
												Start: ast.Position{
													Column: 40,
													Line:   43,
												},
											},
										},
										Value: "_time",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   43,
									},
									File:   "window_default_test.flux",
									Source: "duplicate(column: \"_start\", as: \"_time\")",
									Start: ast.Position{
										Column: 8,
										Line:   43,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 17,
											Line:   43,
										},
										File:   "window_default_test.flux",
										Source: "duplicate",
										Start: ast.Position{
											Column: 8,
											Line:   43,
										},
									},
								},
								Name: "duplicate",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   44,
							},
							File:   "window_default_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"_measurement\"])\n    |> window(every: 1s)\n    |> mean()\n    |> duplicate(column: \"_start\", as: \"_time\")\n    |> window(every: inf)",
							Start: ast.Position{
								Column: 26,
								Line:   38,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   44,
									},
									File:   "window_default_test.flux",
									Source: "every: inf",
									Start: ast.Position{
										Column: 15,
										Line:   44,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   44,
										},
										File:   "window_default_test.flux",
										Source: "every: inf",
										Start: ast.Position{
											Column: 15,
											Line:   44,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   44,
											},
											File:   "window_default_test.flux",
											Source: "every",
											Start: ast.Position{
												Column: 15,
												Line:   44,
											},
										},
									},
									Name: "every",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   44,
											},
											File:   "window_default_test.flux",
											Source: "inf",
											Start: ast.Position{
												Column: 22,
												Line:   44,
											},
										},
									},
									Name: "inf",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   44,
								},
								File:   "window_default_test.flux",
								Source: "window(every: inf)",
								Start: ast.Position{
									Column: 8,
									Line:   44,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   44,
									},
									File:   "window_default_test.flux",
									Source: "window",
									Start: ast.Position{
										Column: 8,
										Line:   44,
									},
								},
							},
							Name: "window",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   38,
							},
							File:   "window_default_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 13,
								Line:   38,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   38,
								},
								File:   "window_default_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 13,
									Line:   38,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 21,
								Line:   38,
							},
							File:   "window_default_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 19,
								Line:   38,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 116,
							Line:   46,
						},
						File:   "window_default_test.flux",
						Source: "_window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
						Start: ast.Position{
							Column: 6,
							Line:   46,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 13,
								Line:   46,
							},
							File:   "window_default_test.flux",
							Source: "_window",
							Start: ast.Position{
								Column: 6,
								Line:   46,
							},
						},
					},
					Name: "_window",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 116,
								Line:   46,
							},
							File:   "window_default_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
							Start: ast.Position{
								Column: 16,
								Line:   46,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 116,
									Line:   46,
								},
								File:   "window_default_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
								Start: ast.Position{
									Column: 22,
									Line:   46,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 115,
										Line:   46,
									},
									File:   "window_default_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window}",
									Start: ast.Position{
										Column: 23,
										Line:   46,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   46,
										},
										File:   "window_default_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 24,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 29,
												Line:   46,
											},
											File:   "window_default_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 24,
												Line:   46,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   46,
												},
												File:   "window_default_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 51,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   46,
													},
													File:   "window_default_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 51,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 54,
															Line:   46,
														},
														File:   "window_default_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 51,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 62,
															Line:   46,
														},
														File:   "window_default_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 56,
															Line:   46,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   46,
											},
											File:   "window_default_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 31,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 50,
													Line:   46,
												},
												File:   "window_default_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 31,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 38,
														Line:   46,
													},
													File:   "window_default_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 31,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   46,
													},
													File:   "window_default_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 39,
														Line:   46,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 100,
											Line:   46,
										},
										File:   "window_default_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 65,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   46,
											},
											File:   "window_default_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 65,
												Line:   46,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   46,
												},
												File:   "window_default_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 87,
													Line:   46,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 99,
														Line:   46,
													},
													File:   "window_default_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 87,
														Line:   46,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 90,
															Line:   46,
														},
														File:   "window_default_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 87,
															Line:   46,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 99,
															Line:   46,
														},
														File:   "window_default_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 92,
															Line:   46,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 100,
												Line:   46,
											},
											File:   "window_default_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 71,
												Line:   46,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 86,
													Line:   46,
												},
												File:   "window_default_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 71,
													Line:   46,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 78,
														Line:   46,
													},
													File:   "window_default_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 71,
														Line:   46,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 86,
														Line:   46,
													},
													File:   "window_default_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 79,
														Line:   46,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 114,
											Line:   46,
										},
										File:   "window_default_test.flux",
										Source: "fn: t_window",
										Start: ast.Position{
											Column: 102,
											Line:   46,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   46,
											},
											File:   "window_default_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 102,
												Line:   46,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 114,
												Line:   46,
											},
											File:   "window_default_test.flux",
											Source: "t_window",
											Start: ast.Position{
												Column: 106,
												Line:   46,
											},
										},
									},
									Name: "t_window",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 116,
						Line:   46,
					},
					File:   "window_default_test.flux",
					Source: "test _window = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window})",
					Start: ast.Position{
						Column: 1,
						Line:   46,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "window_default_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "window_default_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "window_default_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "window_default_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "window_default_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 146,
					Line:   75,
				},
				File:   "window_generate_empty_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,6,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,6,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,7,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,7,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,8,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,8,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,9,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,10,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,11,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_idle,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"\nt_window_generate_empty = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n    |> window(every: 30s, createEmpty: true)\n\ntest _window_generate_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_generate_empty})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "window_generate_empty_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "window_generate_empty_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "window_generate_empty_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "window_generate_empty_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "window_generate_empty_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "window_generate_empty_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "window_generate_empty_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "window_generate_empty_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,1,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,2,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   70,
					},
					File:   "window_generate_empty_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,6,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,6,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,7,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,7,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,8,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,8,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,9,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,10,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,11,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_idle,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   32,
						},
						File:   "window_generate_empty_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   70,
						},
						File:   "window_generate_empty_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,6,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,6,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,7,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,7,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,8,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,8,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,9,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,10,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,11,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_idle,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   32,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,0,usage_guest,cpu,cpu-total,host.local\n,,1,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,2,2018-05-22T19:53:26Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,0,usage_guest,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,0,usage_guest,cpu,cpu-total,host.local\n,,3,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,0,usage_guest,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,4,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,5,2018-05-22T19:53:30Z,2018-05-22T19:54:00Z,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,6,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,0,usage_guest,cpu,cpu-total,host.local\n,,6,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,0,usage_guest,cpu,cpu-total,host.local\n,,7,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,7,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,0,usage_guest_nice,cpu,cpu-total,host.local\n,,8,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,8,2018-05-22T19:54:00Z,2018-05-22T19:54:30Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,9,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_guest,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,10,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_guest_nice,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,true,true,false,false,true,true,true,true\n#default,_result,11,2018-05-22T19:54:30Z,2018-05-22T19:55:00Z,,,usage_idle,cpu,cpu-total,host.local\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 45,
						Line:   73,
					},
					File:   "window_generate_empty_test.flux",
					Source: "t_window_generate_empty = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n    |> window(every: 30s, createEmpty: true)",
					Start: ast.Position{
						Column: 1,
						Line:   71,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   71,
						},
						File:   "window_generate_empty_test.flux",
						Source: "t_window_generate_empty",
						Start: ast.Position{
							Column: 1,
							Line:   71,
						},
					},
				},
				Name: "t_window_generate_empty",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 45,
							Line:   73,
						},
						File:   "window_generate_empty_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n    |> window(every: 30s, createEmpty: true)",
						Start: ast.Position{
							Column: 27,
							Line:   71,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 46,
										Line:   71,
									},
									File:   "window_generate_empty_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 41,
										Line:   71,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 70,
									Line:   72,
								},
								File:   "window_generate_empty_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
								Start: ast.Position{
									Column: 41,
									Line:   71,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 69,
											Line:   72,
										},
										File:   "window_generate_empty_test.flux",
										Source: "start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   72,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   72,
											},
											File:   "window_generate_empty_test.flux",
											Source: "start: 2018-05-22T19:53:26Z",
											Start: ast.Position{
												Column: 14,
												Line:   72,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   72,
												},
												File:   "window_generate_empty_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   72,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   72,
												},
												File:   "window_generate_empty_test.flux",
												Source: "2018-05-22T19:53:26Z",
												Start: ast.Position{
													Column: 21,
													Line:   72,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:26Z"),
									},
								}, &ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 69,
												Line:   72,
											},
											File:   "window_generate_empty_test.flux",
											Source: "stop: 2018-05-22T19:55:00Z",
											Start: ast.Position{
												Column: 43,
												Line:   72,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 47,
													Line:   72,
												},
												File:   "window_generate_empty_test.flux",
												Source: "stop",
												Start: ast.Position{
													Column: 43,
													Line:   72,
												},
											},
										},
										Name: "stop",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   72,
												},
												File:   "window_generate_empty_test.flux",
												Source: "2018-05-22T19:55:00Z",
												Start: ast.Position{
													Column: 49,
													Line:   72,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 70,
										Line:   72,
									},
									File:   "window_generate_empty_test.flux",
									Source: "range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   72,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   72,
										},
										File:   "window_generate_empty_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   72,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 45,
								Line:   73,
							},
							File:   "window_generate_empty_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:26Z, stop: 2018-05-22T19:55:00Z)\n    |> window(every: 30s, createEmpty: true)",
							Start: ast.Position{
								Column: 41,
								Line:   71,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 44,
										Line:   73,
									},
									File:   "window_generate_empty_test.flux",
									Source: "every: 30s, createEmpty: true",
									Start: ast.Position{
										Column: 15,
										Line:   73,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   73,
										},
										File:   "window_generate_empty_test.flux",
										Source: "every: 30s",
										Start: ast.Position{
											Column: 15,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   73,
											},
											File:   "window_generate_empty_test.flux",
											Source: "every",
											Start: ast.Position{
												Column: 15,
												Line:   73,
											},
										},
									},
									Name: "every",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   73,
											},
											File:   "window_generate_empty_test.flux",
											Source: "30s",
											Start: ast.Position{
												Column: 22,
												Line:   73,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(30),
										Unit:      "s",
									}},
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 44,
											Line:   73,
										},
										File:   "window_generate_empty_test.flux",
										Source: "createEmpty: true",
										Start: ast.Position{
											Column: 27,
											Line:   73,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   73,
											},
											File:   "window_generate_empty_test.flux",
											Source: "createEmpty",
											Start: ast.Position{
												Column: 27,
												Line:   73,
											},
										},
									},
									Name: "createEmpty",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   73,
											},
											File:   "window_generate_empty_test.flux",
											Source: "true",
											Start: ast.Position{
												Column: 40,
												Line:   73,
											},
										},
									},
									Name: "true",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 45,
									Line:   73,
								},
								File:   "window_generate_empty_test.flux",
								Source: "window(every: 30s, createEmpty: true)",
								Start: ast.Position{
									Column: 8,
									Line:   73,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   73,
									},
									File:   "window_generate_empty_test.flux",
									Source: "window",
									Start: ast.Position{
										Column: 8,
										Line:   73,
									},
								},
							},
							Name: "window",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   71,
							},
							File:   "window_generate_empty_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 28,
								Line:   71,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   71,
								},
								File:   "window_generate_empty_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 28,
									Line:   71,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   71,
							},
							File:   "window_generate_empty_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 34,
								Line:   71,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 146,
							Line:   75,
						},
						File:   "window_generate_empty_test.flux",
						Source: "_window_generate_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_generate_empty})",
						Start: ast.Position{
							Column: 6,
							Line:   75,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   75,
							},
							File:   "window_generate_empty_test.flux",
							Source: "_window_generate_empty",
							Start: ast.Position{
								Column: 6,
								Line:   75,
							},
						},
					},
					Name: "_window_generate_empty",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 146,
								Line:   75,
							},
							File:   "window_generate_empty_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_generate_empty})",
							Start: ast.Position{
								Column: 31,
								Line:   75,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 146,
									Line:   75,
								},
								File:   "window_generate_empty_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_generate_empty})",
								Start: ast.Position{
									Column: 37,
									Line:   75,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 145,
										Line:   75,
									},
									File:   "window_generate_empty_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_generate_empty}",
									Start: ast.Position{
										Column: 38,
										Line:   75,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 78,
											Line:   75,
										},
										File:   "window_generate_empty_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 39,
											Line:   75,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 44,
												Line:   75,
											},
											File:   "window_generate_empty_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 39,
												Line:   75,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 77,
													Line:   75,
												},
												File:   "window_generate_empty_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 66,
													Line:   75,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 77,
														Line:   75,
													},
													File:   "window_generate_empty_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 66,
														Line:   75,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   75,
														},
														File:   "window_generate_empty_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 66,
															Line:   75,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 77,
															Line:   75,
														},
														File:   "window_generate_empty_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 71,
															Line:   75,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 78,
												Line:   75,
											},
											File:   "window_generate_empty_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 46,
												Line:   75,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 65,
													Line:   75,
												},
												File:   "window_generate_empty_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 46,
													Line:   75,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 53,
														Line:   75,
													},
													File:   "window_generate_empty_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 46,
														Line:   75,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 65,
														Line:   75,
													},
													File:   "window_generate_empty_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 54,
														Line:   75,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 115,
											Line:   75,
										},
										File:   "window_generate_empty_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 80,
											Line:   75,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 84,
												Line:   75,
											},
											File:   "window_generate_empty_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 80,
												Line:   75,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 114,
													Line:   75,
												},
												File:   "window_generate_empty_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 102,
													Line:   75,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 114,
														Line:   75,
													},
													File:   "window_generate_empty_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 102,
														Line:   75,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 105,
															Line:   75,
														},
														File:   "window_generate_empty_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 102,
															Line:   75,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 114,
															Line:   75,
														},
														File:   "window_generate_empty_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 107,
															Line:   75,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 115,
												Line:   75,
											},
											File:   "window_generate_empty_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 86,
												Line:   75,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 101,
													Line:   75,
												},
												File:   "window_generate_empty_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 86,
													Line:   75,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 93,
														Line:   75,
													},
													File:   "window_generate_empty_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 86,
														Line:   75,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 101,
														Line:   75,
													},
													File:   "window_generate_empty_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 94,
														Line:   75,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 144,
											Line:   75,
										},
										File:   "window_generate_empty_test.flux",
										Source: "fn: t_window_generate_empty",
										Start: ast.Position{
											Column: 117,
											Line:   75,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 119,
												Line:   75,
											},
											File:   "window_generate_empty_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 117,
												Line:   75,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 144,
												Line:   75,
											},
											File:   "window_generate_empty_test.flux",
											Source: "t_window_generate_empty",
											Start: ast.Position{
												Column: 121,
												Line:   75,
											},
										},
									},
									Name: "t_window_generate_empty",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 146,
						Line:   75,
					},
					File:   "window_generate_empty_test.flux",
					Source: "test _window_generate_empty = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_generate_empty})",
					Start: ast.Position{
						Column: 1,
						Line:   75,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "window_generate_empty_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "window_generate_empty_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "window_generate_empty_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "window_generate_empty_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "window_generate_empty_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 154,
					Line:   52,
				},
				File:   "window_group_mean_ungroup_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,double\n#group,false,false,false,false,false,false\n#default,_result,,,,,\n,result,table,_start,_stop,name,_value\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:27Z,disk0,15204688\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:53:37Z,disk0,15204894\n,,0,2018-05-22T19:53:46Z,2018-05-22T19:53:47Z,disk0,15205102\n,,0,2018-05-22T19:53:56Z,2018-05-22T19:53:57Z,disk0,15205226\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:07Z,disk0,15205499\n,,0,2018-05-22T19:54:16Z,2018-05-22T19:54:17Z,disk0,15205755\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:27Z,disk2,648\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:53:37Z,disk2,648\n,,0,2018-05-22T19:53:46Z,2018-05-22T19:53:47Z,disk2,648\n,,0,2018-05-22T19:53:56Z,2018-05-22T19:53:57Z,disk2,648\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:07Z,disk2,648\n,,0,2018-05-22T19:54:16Z,2018-05-22T19:54:17Z,disk2,648\n\"\nt_window_group_mean_ungroup = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"name\"])\n    |> window(every: 1s)\n    |> mean()\n    |> group()\n    |> sort(columns: [\"name\", \"_start\"])\n\ntest _window_group_mean_ungroup = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_group_mean_ungroup})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "window_group_mean_ungroup_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "window_group_mean_ungroup_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "window_group_mean_ungroup_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "window_group_mean_ungroup_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   25,
					},
					File:   "window_group_mean_ungroup_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   25,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,long,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,host,name\n,,0,2018-05-22T19:53:26Z,15204688,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:36Z,15204894,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:46Z,15205102,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:53:56Z,15205226,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:06Z,15205499,io_time,diskio,host.local,disk0\n,,0,2018-05-22T19:54:16Z,15205755,io_time,diskio,host.local,disk0\n,,1,2018-05-22T19:53:26Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:36Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:46Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:53:56Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:06Z,648,io_time,diskio,host.local,disk2\n,,1,2018-05-22T19:54:16Z,648,io_time,diskio,host.local,disk2\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   43,
					},
					File:   "window_group_mean_ungroup_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,double\n#group,false,false,false,false,false,false\n#default,_result,,,,,\n,result,table,_start,_stop,name,_value\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:27Z,disk0,15204688\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:53:37Z,disk0,15204894\n,,0,2018-05-22T19:53:46Z,2018-05-22T19:53:47Z,disk0,15205102\n,,0,2018-05-22T19:53:56Z,2018-05-22T19:53:57Z,disk0,15205226\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:07Z,disk0,15205499\n,,0,2018-05-22T19:54:16Z,2018-05-22T19:54:17Z,disk0,15205755\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:27Z,disk2,648\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:53:37Z,disk2,648\n,,0,2018-05-22T19:53:46Z,2018-05-22T19:53:47Z,disk2,648\n,,0,2018-05-22T19:53:56Z,2018-05-22T19:53:57Z,disk2,648\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:07Z,disk2,648\n,,0,2018-05-22T19:54:16Z,2018-05-22T19:54:17Z,disk2,648\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   26,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   26,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   26,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   43,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,double\n#group,false,false,false,false,false,false\n#default,_result,,,,,\n,result,table,_start,_stop,name,_value\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:27Z,disk0,15204688\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:53:37Z,disk0,15204894\n,,0,2018-05-22T19:53:46Z,2018-05-22T19:53:47Z,disk0,15205102\n,,0,2018-05-22T19:53:56Z,2018-05-22T19:53:57Z,disk0,15205226\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:07Z,disk0,15205499\n,,0,2018-05-22T19:54:16Z,2018-05-22T19:54:17Z,disk0,15205755\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:27Z,disk2,648\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:53:37Z,disk2,648\n,,0,2018-05-22T19:53:46Z,2018-05-22T19:53:47Z,disk2,648\n,,0,2018-05-22T19:53:56Z,2018-05-22T19:53:57Z,disk2,648\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:07Z,disk2,648\n,,0,2018-05-22T19:54:16Z,2018-05-22T19:54:17Z,disk2,648\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   26,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,double\n#group,false,false,false,false,false,false\n#default,_result,,,,,\n,result,table,_start,_stop,name,_value\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:27Z,disk0,15204688\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:53:37Z,disk0,15204894\n,,0,2018-05-22T19:53:46Z,2018-05-22T19:53:47Z,disk0,15205102\n,,0,2018-05-22T19:53:56Z,2018-05-22T19:53:57Z,disk0,15205226\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:07Z,disk0,15205499\n,,0,2018-05-22T19:54:16Z,2018-05-22T19:54:17Z,disk0,15205755\n,,0,2018-05-22T19:53:26Z,2018-05-22T19:53:27Z,disk2,648\n,,0,2018-05-22T19:53:36Z,2018-05-22T19:53:37Z,disk2,648\n,,0,2018-05-22T19:53:46Z,2018-05-22T19:53:47Z,disk2,648\n,,0,2018-05-22T19:53:56Z,2018-05-22T19:53:57Z,disk2,648\n,,0,2018-05-22T19:54:06Z,2018-05-22T19:54:07Z,disk2,648\n,,0,2018-05-22T19:54:16Z,2018-05-22T19:54:17Z,disk2,648\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 41,
						Line:   50,
					},
					File:   "window_group_mean_ungroup_test.flux",
					Source: "t_window_group_mean_ungroup = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"name\"])\n    |> window(every: 1s)\n    |> mean()\n    |> group()\n    |> sort(columns: [\"name\", \"_start\"])",
					Start: ast.Position{
						Column: 1,
						Line:   44,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 28,
							Line:   44,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "t_window_group_mean_ungroup",
						Start: ast.Position{
							Column: 1,
							Line:   44,
						},
					},
				},
				Name: "t_window_group_mean_ungroup",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 41,
							Line:   50,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"name\"])\n    |> window(every: 1s)\n    |> mean()\n    |> group()\n    |> sort(columns: [\"name\", \"_start\"])",
						Start: ast.Position{
							Column: 31,
							Line:   44,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   44,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 45,
														Line:   44,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   45,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
												Start: ast.Position{
													Column: 45,
													Line:   44,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   45,
														},
														File:   "window_group_mean_ungroup_test.flux",
														Source: "start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z",
														Start: ast.Position{
															Column: 14,
															Line:   45,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 41,
																Line:   45,
															},
															File:   "window_group_mean_ungroup_test.flux",
															Source: "start: 2018-05-22T19:53:00Z",
															Start: ast.Position{
																Column: 14,
																Line:   45,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 19,
																	Line:   45,
																},
																File:   "window_group_mean_ungroup_test.flux",
																Source: "start",
																Start: ast.Position{
																	Column: 14,
																	Line:   45,
																},
															},
														},
														Name: "start",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 41,
																	Line:   45,
																},
																File:   "window_group_mean_ungroup_test.flux",
																Source: "2018-05-22T19:53:00Z",
																Start: ast.Position{
																	Column: 21,
																	Line:   45,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 69,
																Line:   45,
															},
															File:   "window_group_mean_ungroup_test.flux",
															Source: "stop: 2018-05-22T19:55:00Z",
															Start: ast.Position{
																Column: 43,
																Line:   45,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 47,
																	Line:   45,
																},
																File:   "window_group_mean_ungroup_test.flux",
																Source: "stop",
																Start: ast.Position{
																	Column: 43,
																	Line:   45,
																},
															},
														},
														Name: "stop",
													},
													Separator: nil,
													Value: &ast.DateTimeLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 69,
																	Line:   45,
																},
																File:   "window_group_mean_ungroup_test.flux",
																Source: "2018-05-22T19:55:00Z",
																Start: ast.Position{
																	Column: 49,
																	Line:   45,
																},
															},
														},
														Value: parser.MustParseTime("2018-05-22T19:55:00Z"),
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   45,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)",
													Start: ast.Position{
														Column: 8,
														Line:   45,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 13,
															Line:   45,
														},
														File:   "window_group_mean_ungroup_test.flux",
														Source: "range",
														Start: ast.Position{
															Column: 8,
															Line:   45,
														},
													},
												},
												Name: "range",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   46,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"name\"])",
											Start: ast.Position{
												Column: 45,
												Line:   44,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 31,
														Line:   46,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "columns: [\"name\"]",
													Start: ast.Position{
														Column: 14,
														Line:   46,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 31,
															Line:   46,
														},
														File:   "window_group_mean_ungroup_test.flux",
														Source: "columns: [\"name\"]",
														Start: ast.Position{
															Column: 14,
															Line:   46,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 21,
																Line:   46,
															},
															File:   "window_group_mean_ungroup_test.flux",
															Source: "columns",
															Start: ast.Position{
																Column: 14,
																Line:   46,
															},
														},
													},
													Name: "columns",
												},
												Separator: nil,
												Value: &ast.ArrayExpression{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 31,
																Line:   46,
															},
															File:   "window_group_mean_ungroup_test.flux",
															Source: "[\"name\"]",
															Start: ast.Position{
																Column: 23,
																Line:   46,
															},
														},
													},
													Elements: []ast.Expression{&ast.StringLiteral{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 30,
																	Line:   46,
																},
																File:   "window_group_mean_ungroup_test.flux",
																Source: "\"name\"",
																Start: ast.Position{
																	Column: 24,
																	Line:   46,
																},
															},
														},
														Value: "name",
													}},
													Lbrack: nil,
													Rbrack: nil,
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   46,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "group(columns: [\"name\"])",
												Start: ast.Position{
													Column: 8,
													Line:   46,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   46,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "group",
													Start: ast.Position{
														Column: 8,
														Line:   46,
													},
												},
											},
											Name: "group",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   47,
										},
										File:   "window_group_mean_ungroup_test.flux",
										Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"name\"])\n    |> window(every: 1s)",
										Start: ast.Position{
											Column: 45,
											Line:   44,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   47,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "every: 1s",
												Start: ast.Position{
													Column: 15,
													Line:   47,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   47,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "every: 1s",
													Start: ast.Position{
														Column: 15,
														Line:   47,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 20,
															Line:   47,
														},
														File:   "window_group_mean_ungroup_test.flux",
														Source: "every",
														Start: ast.Position{
															Column: 15,
															Line:   47,
														},
													},
												},
												Name: "every",
											},
											Separator: nil,
											Value: &ast.DurationLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 24,
															Line:   47,
														},
														File:   "window_group_mean_ungroup_test.flux",
														Source: "1s",
														Start: ast.Position{
															Column: 22,
															Line:   47,
														},
													},
												},
												Values: []ast.Duration{ast.Duration{
													Magnitude: int64(1),
													Unit:      "s",
												}},
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   47,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "window(every: 1s)",
											Start: ast.Position{
												Column: 8,
												Line:   47,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   47,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "window",
												Start: ast.Position{
													Column: 8,
													Line:   47,
												},
											},
										},
										Name: "window",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   48,
									},
									File:   "window_group_mean_ungroup_test.flux",
									Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"name\"])\n    |> window(every: 1s)\n    |> mean()",
									Start: ast.Position{
										Column: 45,
										Line:   44,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: nil,
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   48,
										},
										File:   "window_group_mean_ungroup_test.flux",
										Source: "mean()",
										Start: ast.Position{
											Column: 8,
											Line:   48,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 12,
												Line:   48,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "mean",
											Start: ast.Position{
												Column: 8,
												Line:   48,
											},
										},
									},
									Name: "mean",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   49,
								},
								File:   "window_group_mean_ungroup_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"name\"])\n    |> window(every: 1s)\n    |> mean()\n    |> group()",
								Start: ast.Position{
									Column: 45,
									Line:   44,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: nil,
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 15,
										Line:   49,
									},
									File:   "window_group_mean_ungroup_test.flux",
									Source: "group()",
									Start: ast.Position{
										Column: 8,
										Line:   49,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   49,
										},
										File:   "window_group_mean_ungroup_test.flux",
										Source: "group",
										Start: ast.Position{
											Column: 8,
											Line:   49,
										},
									},
								},
								Name: "group",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 41,
								Line:   50,
							},
							File:   "window_group_mean_ungroup_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:55:00Z)\n    |> group(columns: [\"name\"])\n    |> window(every: 1s)\n    |> mean()\n    |> group()\n    |> sort(columns: [\"name\", \"_start\"])",
							Start: ast.Position{
								Column: 45,
								Line:   44,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 40,
										Line:   50,
									},
									File:   "window_group_mean_ungroup_test.flux",
									Source: "columns: [\"name\", \"_start\"]",
									Start: ast.Position{
										Column: 13,
										Line:   50,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 40,
											Line:   50,
										},
										File:   "window_group_mean_ungroup_test.flux",
										Source: "columns: [\"name\", \"_start\"]",
										Start: ast.Position{
											Column: 13,
											Line:   50,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   50,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "columns",
											Start: ast.Position{
												Column: 13,
												Line:   50,
											},
										},
									},
									Name: "columns",
								},
								Separator: nil,
								Value: &ast.ArrayExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 40,
												Line:   50,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "[\"name\", \"_start\"]",
											Start: ast.Position{
												Column: 22,
												Line:   50,
											},
										},
									},
									Elements: []ast.Expression{&ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 29,
													Line:   50,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "\"name\"",
												Start: ast.Position{
													Column: 23,
													Line:   50,
												},
											},
										},
										Value: "name",
									}, &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 39,
													Line:   50,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "\"_start\"",
												Start: ast.Position{
													Column: 31,
													Line:   50,
												},
											},
										},
										Value: "_start",
									}},
									Lbrack: nil,
									Rbrack: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 41,
									Line:   50,
								},
								File:   "window_group_mean_ungroup_test.flux",
								Source: "sort(columns: [\"name\", \"_start\"])",
								Start: ast.Position{
									Column: 8,
									Line:   50,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 12,
										Line:   50,
									},
									File:   "window_group_mean_ungroup_test.flux",
									Source: "sort",
									Start: ast.Position{
										Column: 8,
										Line:   50,
									},
								},
							},
							Name: "sort",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   44,
							},
							File:   "window_group_mean_ungroup_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 32,
								Line:   44,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 37,
									Line:   44,
								},
								File:   "window_group_mean_ungroup_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 32,
									Line:   44,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   44,
							},
							File:   "window_group_mean_ungroup_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 38,
								Line:   44,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 154,
							Line:   52,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "_window_group_mean_ungroup = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_group_mean_ungroup})",
						Start: ast.Position{
							Column: 6,
							Line:   52,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 32,
								Line:   52,
							},
							File:   "window_group_mean_ungroup_test.flux",
							Source: "_window_group_mean_ungroup",
							Start: ast.Position{
								Column: 6,
								Line:   52,
							},
						},
					},
					Name: "_window_group_mean_ungroup",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 154,
								Line:   52,
							},
							File:   "window_group_mean_ungroup_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_group_mean_ungroup})",
							Start: ast.Position{
								Column: 35,
								Line:   52,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 154,
									Line:   52,
								},
								File:   "window_group_mean_ungroup_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_group_mean_ungroup})",
								Start: ast.Position{
									Column: 41,
									Line:   52,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 153,
										Line:   52,
									},
									File:   "window_group_mean_ungroup_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_group_mean_ungroup}",
									Start: ast.Position{
										Column: 42,
										Line:   52,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 82,
											Line:   52,
										},
										File:   "window_group_mean_ungroup_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 43,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 48,
												Line:   52,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 43,
												Line:   52,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 81,
													Line:   52,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 70,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 81,
														Line:   52,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 70,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 73,
															Line:   52,
														},
														File:   "window_group_mean_ungroup_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 70,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 81,
															Line:   52,
														},
														File:   "window_group_mean_ungroup_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 75,
															Line:   52,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 82,
												Line:   52,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 50,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 69,
													Line:   52,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 50,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 57,
														Line:   52,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 50,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 69,
														Line:   52,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 58,
														Line:   52,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 119,
											Line:   52,
										},
										File:   "window_group_mean_ungroup_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 84,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 88,
												Line:   52,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 84,
												Line:   52,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 118,
													Line:   52,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 106,
													Line:   52,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 118,
														Line:   52,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 106,
														Line:   52,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 109,
															Line:   52,
														},
														File:   "window_group_mean_ungroup_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 106,
															Line:   52,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 118,
															Line:   52,
														},
														File:   "window_group_mean_ungroup_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 111,
															Line:   52,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 119,
												Line:   52,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 90,
												Line:   52,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 105,
													Line:   52,
												},
												File:   "window_group_mean_ungroup_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 90,
													Line:   52,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 97,
														Line:   52,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 90,
														Line:   52,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 105,
														Line:   52,
													},
													File:   "window_group_mean_ungroup_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 98,
														Line:   52,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 152,
											Line:   52,
										},
										File:   "window_group_mean_ungroup_test.flux",
										Source: "fn: t_window_group_mean_ungroup",
										Start: ast.Position{
											Column: 121,
											Line:   52,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   52,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 121,
												Line:   52,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 152,
												Line:   52,
											},
											File:   "window_group_mean_ungroup_test.flux",
											Source: "t_window_group_mean_ungroup",
											Start: ast.Position{
												Column: 125,
												Line:   52,
											},
										},
									},
									Name: "t_window_group_mean_ungroup",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 154,
						Line:   52,
					},
					File:   "window_group_mean_ungroup_test.flux",
					Source: "test _window_group_mean_ungroup = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_group_mean_ungroup})",
					Start: ast.Position{
						Column: 1,
						Line:   52,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "window_group_mean_ungroup_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "window_group_mean_ungroup_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "window_group_mean_ungroup_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "window_group_mean_ungroup_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 126,
					Line:   39,
				},
				File:   "window_null_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:30Z,-61.68790887989735\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:40Z,-6.3173755351186465\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:50Z,-26.049728557657513\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:00Z,\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:10Z,114.285955884979\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:20Z,16.140262630578995\n\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:30Z,-61.68790887989735\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:40Z,-6.3173755351186465\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:50Z,-26.049728557657513\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:00Z,\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:10Z,114.285955884979\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:20Z,16.140262630578995\n\n\"\n\noption now = () => 2019-01-15T21:40:32Z\n\nt_window_null = (table=<-) => table\n    |> range(start: -5m)\n    |> window(every: 30s)\n\ntest _window_null = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_null})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   18,
					},
					File:   "window_null_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:30Z,-61.68790887989735\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:40Z,-6.3173755351186465\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:50Z,-26.049728557657513\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:00Z,\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:10Z,114.285955884979\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:20Z,16.140262630578995\n\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   6,
						},
						File:   "window_null_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   18,
						},
						File:   "window_null_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:30Z,-61.68790887989735\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:40Z,-6.3173755351186465\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:50Z,-26.049728557657513\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:00Z,\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:10Z,114.285955884979\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:20Z,16.140262630578995\n\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   6,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:30Z,-61.68790887989735\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:40Z,-6.3173755351186465\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:39:50Z,-26.049728557657513\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:00Z,\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:10Z,114.285955884979\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:20Z,dlC,lDQVwm,2019-01-15T21:40:20Z,16.140262630578995\n\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "window_null_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:30Z,-61.68790887989735\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:40Z,-6.3173755351186465\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:50Z,-26.049728557657513\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:00Z,\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:10Z,114.285955884979\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:20Z,16.140262630578995\n\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   19,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   19,
						},
						File:   "window_null_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   19,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "window_null_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:30Z,-61.68790887989735\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:40Z,-6.3173755351186465\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:50Z,-26.049728557657513\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:00Z,\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:10Z,114.285955884979\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:20Z,16.140262630578995\n\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   19,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,dateTime:RFC3339,double\n#group,false,false,true,true,true,true,false,false\n#default,,,,,,,,\n,result,table,_start,_stop,_measurement,_field,_time,_value\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:30Z,-61.68790887989735\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:40Z,-6.3173755351186465\n,,0,2019-01-15T21:39:30Z,2019-01-15T21:40:00Z,dlC,lDQVwm,2019-01-15T21:39:50Z,-26.049728557657513\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:00Z,\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:10Z,114.285955884979\n,,1,2019-01-15T21:40:00Z,2019-01-15T21:40:30Z,dlC,lDQVwm,2019-01-15T21:40:20Z,16.140262630578995\n\n",
			},
		}, &ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   33,
						},
						File:   "window_null_test.flux",
						Source: "now = () => 2019-01-15T21:40:32Z",
						Start: ast.Position{
							Column: 8,
							Line:   33,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   33,
							},
							File:   "window_null_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   33,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   33,
							},
							File:   "window_null_test.flux",
							Source: "() => 2019-01-15T21:40:32Z",
							Start: ast.Position{
								Column: 14,
								Line:   33,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   33,
								},
								File:   "window_null_test.flux",
								Source: "2019-01-15T21:40:32Z",
								Start: ast.Position{
									Column: 20,
									Line:   33,
								},
							},
						},
						Value: parser.MustParseTime("2019-01-15T21:40:32Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   33,
					},
					File:   "window_null_test.flux",
					Source: "option now = () => 2019-01-15T21:40:32Z",
					Start: ast.Position{
						Column: 1,
						Line:   33,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 26,
						Line:   37,
					},
					File:   "window_null_test.flux",
					Source: "t_window_null = (table=<-) => table\n    |> range(start: -5m)\n    |> window(every: 30s)",
					Start: ast.Position{
						Column: 1,
						Line:   35,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   35,
						},
						File:   "window_null_test.flux",
						Source: "t_window_null",
						Start: ast.Position{
							Column: 1,
							Line:   35,
						},
					},
				},
				Name: "t_window_null",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 26,
							Line:   37,
						},
						File:   "window_null_test.flux",
						Source: "(table=<-) => table\n    |> range(start: -5m)\n    |> window(every: 30s)",
						Start: ast.Position{
							Column: 17,
							Line:   35,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 36,
										Line:   35,
									},
									File:   "window_null_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 31,
										Line:   35,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 25,
									Line:   36,
								},
								File:   "window_null_test.flux",
								Source: "table\n    |> range(start: -5m)",
								Start: ast.Position{
									Column: 31,
									Line:   35,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   36,
										},
										File:   "window_null_test.flux",
										Source: "start: -5m",
										Start: ast.Position{
											Column: 14,
											Line:   36,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   36,
											},
											File:   "window_null_test.flux",
											Source: "start: -5m",
											Start: ast.Position{
												Column: 14,
												Line:   36,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   36,
												},
												File:   "window_null_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   36,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.UnaryExpression{
										Argument: &ast.DurationLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   36,
													},
													File:   "window_null_test.flux",
													Source: "5m",
													Start: ast.Position{
														Column: 22,
														Line:   36,
													},
												},
											},
											Values: []ast.Duration{ast.Duration{
												Magnitude: int64(5),
												Unit:      "m",
											}},
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 24,
													Line:   36,
												},
												File:   "window_null_test.flux",
												Source: "-5m",
												Start: ast.Position{
													Column: 21,
													Line:   36,
												},
											},
										},
										Operator: 6,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   36,
									},
									File:   "window_null_test.flux",
									Source: "range(start: -5m)",
									Start: ast.Position{
										Column: 8,
										Line:   36,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   36,
										},
										File:   "window_null_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   36,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   37,
							},
							File:   "window_null_test.flux",
							Source: "table\n    |> range(start: -5m)\n    |> window(every: 30s)",
							Start: ast.Position{
								Column: 31,
								Line:   35,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 25,
										Line:   37,
									},
									File:   "window_null_test.flux",
									Source: "every: 30s",
									Start: ast.Position{
										Column: 15,
										Line:   37,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 25,
											Line:   37,
										},
										File:   "window_null_test.flux",
										Source: "every: 30s",
										Start: ast.Position{
											Column: 15,
											Line:   37,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   37,
											},
											File:   "window_null_test.flux",
											Source: "every",
											Start: ast.Position{
												Column: 15,
												Line:   37,
											},
										},
									},
									Name: "every",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   37,
											},
											File:   "window_null_test.flux",
											Source: "30s",
											Start: ast.Position{
												Column: 22,
												Line:   37,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(30),
										Unit:      "s",
									}},
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 26,
									Line:   37,
								},
								File:   "window_null_test.flux",
								Source: "window(every: 30s)",
								Start: ast.Position{
									Column: 8,
									Line:   37,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   37,
									},
									File:   "window_null_test.flux",
									Source: "window",
									Start: ast.Position{
										Column: 8,
										Line:   37,
									},
								},
							},
							Name: "window",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   35,
							},
							File:   "window_null_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 18,
								Line:   35,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 23,
									Line:   35,
								},
								File:   "window_null_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 18,
									Line:   35,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 26,
								Line:   35,
							},
							File:   "window_null_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 24,
								Line:   35,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 126,
							Line:   39,
						},
						File:   "window_null_test.flux",
						Source: "_window_null = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_null})",
						Start: ast.Position{
							Column: 6,
							Line:   39,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   39,
							},
							File:   "window_null_test.flux",
							Source: "_window_null",
							Start: ast.Position{
								Column: 6,
								Line:   39,
							},
						},
					},
					Name: "_window_null",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 126,
								Line:   39,
							},
							File:   "window_null_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_null})",
							Start: ast.Position{
								Column: 21,
								Line:   39,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 126,
									Line:   39,
								},
								File:   "window_null_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_null})",
								Start: ast.Position{
									Column: 27,
									Line:   39,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 125,
										Line:   39,
									},
									File:   "window_null_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_null}",
									Start: ast.Position{
										Column: 28,
										Line:   39,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 68,
											Line:   39,
										},
										File:   "window_null_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 29,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   39,
											},
											File:   "window_null_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 29,
												Line:   39,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 67,
													Line:   39,
												},
												File:   "window_null_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 56,
													Line:   39,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 67,
														Line:   39,
													},
													File:   "window_null_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 56,
														Line:   39,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 59,
															Line:   39,
														},
														File:   "window_null_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 56,
															Line:   39,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 67,
															Line:   39,
														},
														File:   "window_null_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 61,
															Line:   39,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   39,
											},
											File:   "window_null_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 36,
												Line:   39,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 55,
													Line:   39,
												},
												File:   "window_null_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 36,
													Line:   39,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 43,
														Line:   39,
													},
													File:   "window_null_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 36,
														Line:   39,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 55,
														Line:   39,
													},
													File:   "window_null_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 44,
														Line:   39,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 105,
											Line:   39,
										},
										File:   "window_null_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 70,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 74,
												Line:   39,
											},
											File:   "window_null_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 70,
												Line:   39,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   39,
												},
												File:   "window_null_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 92,
													Line:   39,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   39,
													},
													File:   "window_null_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 92,
														Line:   39,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 95,
															Line:   39,
														},
														File:   "window_null_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 92,
															Line:   39,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 104,
															Line:   39,
														},
														File:   "window_null_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 97,
															Line:   39,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 105,
												Line:   39,
											},
											File:   "window_null_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 76,
												Line:   39,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 91,
													Line:   39,
												},
												File:   "window_null_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 76,
													Line:   39,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 83,
														Line:   39,
													},
													File:   "window_null_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 76,
														Line:   39,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 91,
														Line:   39,
													},
													File:   "window_null_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 84,
														Line:   39,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 124,
											Line:   39,
										},
										File:   "window_null_test.flux",
										Source: "fn: t_window_null",
										Start: ast.Position{
											Column: 107,
											Line:   39,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 109,
												Line:   39,
											},
											File:   "window_null_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 107,
												Line:   39,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 124,
												Line:   39,
											},
											File:   "window_null_test.flux",
											Source: "t_window_null",
											Start: ast.Position{
												Column: 111,
												Line:   39,
											},
										},
									},
									Name: "t_window_null",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 126,
						Line:   39,
					},
					File:   "window_null_test.flux",
					Source: "test _window_null = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_null})",
					Start: ast.Position{
						Column: 1,
						Line:   39,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "window_null_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "window_null_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "window_null_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "window_null_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "window_null_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 140,
					Line:   36,
				},
				File:   "window_start_bound_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,0,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,0,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,0,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,0,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,0,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,1,2018-05-22T19:54:30Z,2018-05-22T19:55:30Z,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,2,2018-05-22T19:55:30Z,2018-05-22T19:56:30Z,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,3,2018-05-22T19:56:30Z,2018-05-22T19:57:30Z,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,3,2018-05-22T19:56:30Z,2018-05-22T19:57:30Z,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,4,2018-05-22T19:57:30Z,2018-05-22T19:58:30Z,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"\nt_window_start_bound = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> window(every: 1m, offset: 30s)\n\ntest _window_start_bound = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_start_bound})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "window_start_bound_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "window_start_bound_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "window_start_bound_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "window_start_bound_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "window_start_bound_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "window_start_bound_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,0,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,0,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,0,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,0,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,0,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "window_start_bound_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "window_start_bound_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,0,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,0,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,0,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,0,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,0,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string\n#group,false,false,false,false,true,true,true\n#default,_result,,,,,,\n,result,table,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,0,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,0,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,0,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,0,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,0,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   31,
					},
					File:   "window_start_bound_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,1,2018-05-22T19:54:30Z,2018-05-22T19:55:30Z,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,2,2018-05-22T19:55:30Z,2018-05-22T19:56:30Z,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,3,2018-05-22T19:56:30Z,2018-05-22T19:57:30Z,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,3,2018-05-22T19:56:30Z,2018-05-22T19:57:30Z,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,4,2018-05-22T19:57:30Z,2018-05-22T19:58:30Z,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "window_start_bound_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   31,
						},
						File:   "window_start_bound_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,1,2018-05-22T19:54:30Z,2018-05-22T19:55:30Z,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,2,2018-05-22T19:55:30Z,2018-05-22T19:56:30Z,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,3,2018-05-22T19:56:30Z,2018-05-22T19:57:30Z,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,3,2018-05-22T19:56:30Z,2018-05-22T19:57:30Z,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,4,2018-05-22T19:57:30Z,2018-05-22T19:58:30Z,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string\n#group,false,false,true,true,false,false,true,true,true\n#default,_result,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,host\n,,0,2018-05-22T19:53:00Z,2018-05-22T19:53:30Z,2018-05-22T19:53:26Z,63.053321838378906,used_percent,mem,host.local\n,,1,2018-05-22T19:54:30Z,2018-05-22T19:55:30Z,2018-05-22T19:54:36Z,62.71536350250244,used_percent,mem,host.local\n,,2,2018-05-22T19:55:30Z,2018-05-22T19:56:30Z,2018-05-22T19:55:46Z,62.38760948181152,used_percent,mem,host.local\n,,3,2018-05-22T19:56:30Z,2018-05-22T19:57:30Z,2018-05-22T19:56:56Z,62.74595260620117,used_percent,mem,host.local\n,,3,2018-05-22T19:56:30Z,2018-05-22T19:57:30Z,2018-05-22T19:57:06Z,62.78183460235596,used_percent,mem,host.local\n,,4,2018-05-22T19:57:30Z,2018-05-22T19:58:30Z,2018-05-22T19:58:16Z,62.46745586395264,used_percent,mem,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 38,
						Line:   34,
					},
					File:   "window_start_bound_test.flux",
					Source: "t_window_start_bound = (table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> window(every: 1m, offset: 30s)",
					Start: ast.Position{
						Column: 1,
						Line:   32,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 21,
							Line:   32,
						},
						File:   "window_start_bound_test.flux",
						Source: "t_window_start_bound",
						Start: ast.Position{
							Column: 1,
							Line:   32,
						},
					},
				},
				Name: "t_window_start_bound",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 38,
							Line:   34,
						},
						File:   "window_start_bound_test.flux",
						Source: "(table=<-) => table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> window(every: 1m, offset: 30s)",
						Start: ast.Position{
							Column: 24,
							Line:   32,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 43,
										Line:   32,
									},
									File:   "window_start_bound_test.flux",
									Source: "table",
									Start: ast.Position{
										Column: 38,
										Line:   32,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 42,
									Line:   33,
								},
								File:   "window_start_bound_test.flux",
								Source: "table\n    |> range(start: 2018-05-22T19:53:00Z)",
								Start: ast.Position{
									Column: 38,
									Line:   32,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 41,
											Line:   33,
										},
										File:   "window_start_bound_test.flux",
										Source: "start: 2018-05-22T19:53:00Z",
										Start: ast.Position{
											Column: 14,
											Line:   33,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   33,
											},
											File:   "window_start_bound_test.flux",
											Source: "start: 2018-05-22T19:53:00Z",
											Start: ast.Position{
												Column: 14,
												Line:   33,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   33,
												},
												File:   "window_start_bound_test.flux",
												Source: "start",
												Start: ast.Position{
													Column: 14,
													Line:   33,
												},
											},
										},
										Name: "start",
									},
									Separator: nil,
									Value: &ast.DateTimeLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 41,
													Line:   33,
												},
												File:   "window_start_bound_test.flux",
												Source: "2018-05-22T19:53:00Z",
												Start: ast.Position{
													Column: 21,
													Line:   33,
												},
											},
										},
										Value: parser.MustParseTime("2018-05-22T19:53:00Z"),
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 42,
										Line:   33,
									},
									File:   "window_start_bound_test.flux",
									Source: "range(start: 2018-05-22T19:53:00Z)",
									Start: ast.Position{
										Column: 8,
										Line:   33,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   33,
										},
										File:   "window_start_bound_test.flux",
										Source: "range",
										Start: ast.Position{
											Column: 8,
											Line:   33,
										},
									},
								},
								Name: "range",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 38,
								Line:   34,
							},
							File:   "window_start_bound_test.flux",
							Source: "table\n    |> range(start: 2018-05-22T19:53:00Z)\n    |> window(every: 1m, offset: 30s)",
							Start: ast.Position{
								Column: 38,
								Line:   32,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   34,
									},
									File:   "window_start_bound_test.flux",
									Source: "every: 1m, offset: 30s",
									Start: ast.Position{
										Column: 15,
										Line:   34,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 24,
											Line:   34,
										},
										File:   "window_start_bound_test.flux",
										Source: "every: 1m",
										Start: ast.Position{
											Column: 15,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 20,
												Line:   34,
											},
											File:   "window_start_bound_test.flux",
											Source: "every",
											Start: ast.Position{
												Column: 15,
												Line:   34,
											},
										},
									},
									Name: "every",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 24,
												Line:   34,
											},
											File:   "window_start_bound_test.flux",
											Source: "1m",
											Start: ast.Position{
												Column: 22,
												Line:   34,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(1),
										Unit:      "m",
									}},
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 37,
											Line:   34,
										},
										File:   "window_start_bound_test.flux",
										Source: "offset: 30s",
										Start: ast.Position{
											Column: 26,
											Line:   34,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   34,
											},
											File:   "window_start_bound_test.flux",
											Source: "offset",
											Start: ast.Position{
												Column: 26,
												Line:   34,
											},
										},
									},
									Name: "offset",
								},
								Separator: nil,
								Value: &ast.DurationLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   34,
											},
											File:   "window_start_bound_test.flux",
											Source: "30s",
											Start: ast.Position{
												Column: 34,
												Line:   34,
											},
										},
									},
									Values: []ast.Duration{ast.Duration{
										Magnitude: int64(30),
										Unit:      "s",
									}},
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 38,
									Line:   34,
								},
								File:   "window_start_bound_test.flux",
								Source: "window(every: 1m, offset: 30s)",
								Start: ast.Position{
									Column: 8,
									Line:   34,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 14,
										Line:   34,
									},
									File:   "window_start_bound_test.flux",
									Source: "window",
									Start: ast.Position{
										Column: 8,
										Line:   34,
									},
								},
							},
							Name: "window",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   32,
							},
							File:   "window_start_bound_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 25,
								Line:   32,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   32,
								},
								File:   "window_start_bound_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 25,
									Line:   32,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 33,
								Line:   32,
							},
							File:   "window_start_bound_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 31,
								Line:   32,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 140,
							Line:   36,
						},
						File:   "window_start_bound_test.flux",
						Source: "_window_start_bound = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_start_bound})",
						Start: ast.Position{
							Column: 6,
							Line:   36,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   36,
							},
							File:   "window_start_bound_test.flux",
							Source: "_window_start_bound",
							Start: ast.Position{
								Column: 6,
								Line:   36,
							},
						},
					},
					Name: "_window_start_bound",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 140,
								Line:   36,
							},
							File:   "window_start_bound_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_start_bound})",
							Start: ast.Position{
								Column: 28,
								Line:   36,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 140,
									Line:   36,
								},
								File:   "window_start_bound_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_start_bound})",
								Start: ast.Position{
									Column: 34,
									Line:   36,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 139,
										Line:   36,
									},
									File:   "window_start_bound_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_start_bound}",
									Start: ast.Position{
										Column: 35,
										Line:   36,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 75,
											Line:   36,
										},
										File:   "window_start_bound_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 36,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 41,
												Line:   36,
											},
											File:   "window_start_bound_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 36,
												Line:   36,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 74,
													Line:   36,
												},
												File:   "window_start_bound_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 63,
													Line:   36,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 74,
														Line:   36,
													},
													File:   "window_start_bound_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 63,
														Line:   36,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 66,
															Line:   36,
														},
														File:   "window_start_bound_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 63,
															Line:   36,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 74,
															Line:   36,
														},
														File:   "window_start_bound_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 68,
															Line:   36,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 75,
												Line:   36,
											},
											File:   "window_start_bound_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 43,
												Line:   36,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   36,
												},
												File:   "window_start_bound_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 43,
													Line:   36,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   36,
													},
													File:   "window_start_bound_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 43,
														Line:   36,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 62,
														Line:   36,
													},
													File:   "window_start_bound_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 51,
														Line:   36,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 112,
											Line:   36,
										},
										File:   "window_start_bound_test.flux",
										Source: "want: testing.loadMem(csv: outData)",
										Start: ast.Position{
											Column: 77,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 81,
												Line:   36,
											},
											File:   "window_start_bound_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 77,
												Line:   36,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 111,
													Line:   36,
												},
												File:   "window_start_bound_test.flux",
												Source: "csv: outData",
												Start: ast.Position{
													Column: 99,
													Line:   36,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 111,
														Line:   36,
													},
													File:   "window_start_bound_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 99,
														Line:   36,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 102,
															Line:   36,
														},
														File:   "window_start_bound_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 99,
															Line:   36,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 111,
															Line:   36,
														},
														File:   "window_start_bound_test.flux",
														Source: "outData",
														Start: ast.Position{
															Column: 104,
															Line:   36,
														},
													},
												},
												Name: "outData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 112,
												Line:   36,
											},
											File:   "window_start_bound_test.flux",
											Source: "testing.loadMem(csv: outData)",
											Start: ast.Position{
												Column: 83,
												Line:   36,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 98,
													Line:   36,
												},
												File:   "window_start_bound_test.flux",
												Source: "testing.loadMem",
												Start: ast.Position{
													Column: 83,
													Line:   36,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 90,
														Line:   36,
													},
													File:   "window_start_bound_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 83,
														Line:   36,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   36,
													},
													File:   "window_start_bound_test.flux",
													Source: "loadMem",
													Start: ast.Position{
														Column: 91,
														Line:   36,
													},
												},
											},
											Name: "loadMem",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 138,
											Line:   36,
										},
										File:   "window_start_bound_test.flux",
										Source: "fn: t_window_start_bound",
										Start: ast.Position{
											Column: 114,
											Line:   36,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 116,
												Line:   36,
											},
											File:   "window_start_bound_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 114,
												Line:   36,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 138,
												Line:   36,
											},
											File:   "window_start_bound_test.flux",
											Source: "t_window_start_bound",
											Start: ast.Position{
												Column: 118,
												Line:   36,
											},
										},
									},
									Name: "t_window_start_bound",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 140,
						Line:   36,
					},
					File:   "window_start_bound_test.flux",
					Source: "test _window_start_bound = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData), fn: t_window_start_bound})",
					Start: ast.Position{
						Column: 1,
						Line:   36,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "window_start_bound_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "window_start_bound_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "window_start_bound_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "window_start_bound_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "window_start_bound_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}, &ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 134,
					Line:   43,
				},
				File:   "yield_test.flux",
				Source: "package universe_test\n\n\nimport \"testing\"\n\noption now = () => 2030-01-01T00:00:00Z\n\ninData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\noutData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,1: lowest 3,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,2: 2nd row,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"\nt_yield = (table=<-) => table\n    |> sort()\n    |> limit(n: 3)\n    |> yield(name: \"1: lowest 3\")\n    |> sample(n: 2, pos: 1)\n    |> yield(name: \"2: 2nd row\")\n    |> yield(name: \"5\")\n\ntest _yield = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData) |> yield(name: \"6\"), fn: t_yield})",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.OptionStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 40,
							Line:   6,
						},
						File:   "yield_test.flux",
						Source: "now = () => 2030-01-01T00:00:00Z",
						Start: ast.Position{
							Column: 8,
							Line:   6,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 11,
								Line:   6,
							},
							File:   "yield_test.flux",
							Source: "now",
							Start: ast.Position{
								Column: 8,
								Line:   6,
							},
						},
					},
					Name: "now",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 40,
								Line:   6,
							},
							File:   "yield_test.flux",
							Source: "() => 2030-01-01T00:00:00Z",
							Start: ast.Position{
								Column: 14,
								Line:   6,
							},
						},
					},
					Body: &ast.DateTimeLiteral{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 40,
									Line:   6,
								},
								File:   "yield_test.flux",
								Source: "2030-01-01T00:00:00Z",
								Start: ast.Position{
									Column: 20,
									Line:   6,
								},
							},
						},
						Value: parser.MustParseTime("2030-01-01T00:00:00Z"),
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 40,
						Line:   6,
					},
					File:   "yield_test.flux",
					Source: "option now = () => 2030-01-01T00:00:00Z",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   19,
					},
					File:   "yield_test.flux",
					Source: "inData = \"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   8,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 7,
							Line:   8,
						},
						File:   "yield_test.flux",
						Source: "inData",
						Start: ast.Position{
							Column: 1,
							Line:   8,
						},
					},
				},
				Name: "inData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   19,
						},
						File:   "yield_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 10,
							Line:   8,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,true,true,true,true\n#default,_result,,,,,,,\n,result,table,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:26Z,91.7364670583823,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:46Z,91.0977744436109,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:56Z,91.02836436336374,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 2,
						Line:   34,
					},
					File:   "yield_test.flux",
					Source: "outData = \"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,1: lowest 3,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,2: 2nd row,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
					Start: ast.Position{
						Column: 1,
						Line:   20,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   20,
						},
						File:   "yield_test.flux",
						Source: "outData",
						Start: ast.Position{
							Column: 1,
							Line:   20,
						},
					},
				},
				Name: "outData",
			},
			Init: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 2,
							Line:   34,
						},
						File:   "yield_test.flux",
						Source: "\"\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,1: lowest 3,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,2: 2nd row,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n\"",
						Start: ast.Position{
							Column: 11,
							Line:   20,
						},
					},
				},
				Value: "\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,1: lowest 3,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:06Z,68.304576144036,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:53:36Z,89.51118889861233,usage_idle,cpu,cpu-total,host.local\n\n#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string,string,string\n#group,false,false,false,false,false,false,true,true,true,true\n#default,2: 2nd row,,,,,,,,,\n,result,table,_start,_stop,_time,_value,_field,_measurement,cpu,host\n,,0,2018-05-22T19:53:24.421470485Z,2018-05-22T19:54:24.421470485Z,2018-05-22T19:54:16Z,87.88598574821853,usage_idle,cpu,cpu-total,host.local\n",
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 24,
						Line:   41,
					},
					File:   "yield_test.flux",
					Source: "t_yield = (table=<-) => table\n    |> sort()\n    |> limit(n: 3)\n    |> yield(name: \"1: lowest 3\")\n    |> sample(n: 2, pos: 1)\n    |> yield(name: \"2: 2nd row\")\n    |> yield(name: \"5\")",
					Start: ast.Position{
						Column: 1,
						Line:   35,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 8,
							Line:   35,
						},
						File:   "yield_test.flux",
						Source: "t_yield",
						Start: ast.Position{
							Column: 1,
							Line:   35,
						},
					},
				},
				Name: "t_yield",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 24,
							Line:   41,
						},
						File:   "yield_test.flux",
						Source: "(table=<-) => table\n    |> sort()\n    |> limit(n: 3)\n    |> yield(name: \"1: lowest 3\")\n    |> sample(n: 2, pos: 1)\n    |> yield(name: \"2: 2nd row\")\n    |> yield(name: \"5\")",
						Start: ast.Position{
							Column: 11,
							Line:   35,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.PipeExpression{
								Argument: &ast.PipeExpression{
									Argument: &ast.PipeExpression{
										Argument: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   35,
													},
													File:   "yield_test.flux",
													Source: "table",
													Start: ast.Position{
														Column: 25,
														Line:   35,
													},
												},
											},
											Name: "table",
										},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 14,
													Line:   36,
												},
												File:   "yield_test.flux",
												Source: "table\n    |> sort()",
												Start: ast.Position{
													Column: 25,
													Line:   35,
												},
											},
										},
										Call: &ast.CallExpression{
											Arguments: nil,
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 14,
														Line:   36,
													},
													File:   "yield_test.flux",
													Source: "sort()",
													Start: ast.Position{
														Column: 8,
														Line:   36,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 12,
															Line:   36,
														},
														File:   "yield_test.flux",
														Source: "sort",
														Start: ast.Position{
															Column: 8,
															Line:   36,
														},
													},
												},
												Name: "sort",
											},
											Lparen: nil,
											Rparen: nil,
										},
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   37,
											},
											File:   "yield_test.flux",
											Source: "table\n    |> sort()\n    |> limit(n: 3)",
											Start: ast.Position{
												Column: 25,
												Line:   35,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 18,
														Line:   37,
													},
													File:   "yield_test.flux",
													Source: "n: 3",
													Start: ast.Position{
														Column: 14,
														Line:   37,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   37,
														},
														File:   "yield_test.flux",
														Source: "n: 3",
														Start: ast.Position{
															Column: 14,
															Line:   37,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 15,
																Line:   37,
															},
															File:   "yield_test.flux",
															Source: "n",
															Start: ast.Position{
																Column: 14,
																Line:   37,
															},
														},
													},
													Name: "n",
												},
												Separator: nil,
												Value: &ast.IntegerLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 18,
																Line:   37,
															},
															File:   "yield_test.flux",
															Source: "3",
															Start: ast.Position{
																Column: 17,
																Line:   37,
															},
														},
													},
													Value: int64(3),
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   37,
												},
												File:   "yield_test.flux",
												Source: "limit(n: 3)",
												Start: ast.Position{
													Column: 8,
													Line:   37,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 13,
														Line:   37,
													},
													File:   "yield_test.flux",
													Source: "limit",
													Start: ast.Position{
														Column: 8,
														Line:   37,
													},
												},
											},
											Name: "limit",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 34,
											Line:   38,
										},
										File:   "yield_test.flux",
										Source: "table\n    |> sort()\n    |> limit(n: 3)\n    |> yield(name: \"1: lowest 3\")",
										Start: ast.Position{
											Column: 25,
											Line:   35,
										},
									},
								},
								Call: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 33,
													Line:   38,
												},
												File:   "yield_test.flux",
												Source: "name: \"1: lowest 3\"",
												Start: ast.Position{
													Column: 14,
													Line:   38,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 33,
														Line:   38,
													},
													File:   "yield_test.flux",
													Source: "name: \"1: lowest 3\"",
													Start: ast.Position{
														Column: 14,
														Line:   38,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 18,
															Line:   38,
														},
														File:   "yield_test.flux",
														Source: "name",
														Start: ast.Position{
															Column: 14,
															Line:   38,
														},
													},
												},
												Name: "name",
											},
											Separator: nil,
											Value: &ast.StringLiteral{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 33,
															Line:   38,
														},
														File:   "yield_test.flux",
														Source: "\"1: lowest 3\"",
														Start: ast.Position{
															Column: 20,
															Line:   38,
														},
													},
												},
												Value: "1: lowest 3",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 34,
												Line:   38,
											},
											File:   "yield_test.flux",
											Source: "yield(name: \"1: lowest 3\")",
											Start: ast.Position{
												Column: 8,
												Line:   38,
											},
										},
									},
									Callee: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 13,
													Line:   38,
												},
												File:   "yield_test.flux",
												Source: "yield",
												Start: ast.Position{
													Column: 8,
													Line:   38,
												},
											},
										},
										Name: "yield",
									},
									Lparen: nil,
									Rparen: nil,
								},
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 28,
										Line:   39,
									},
									File:   "yield_test.flux",
									Source: "table\n    |> sort()\n    |> limit(n: 3)\n    |> yield(name: \"1: lowest 3\")\n    |> sample(n: 2, pos: 1)",
									Start: ast.Position{
										Column: 25,
										Line:   35,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   39,
											},
											File:   "yield_test.flux",
											Source: "n: 2, pos: 1",
											Start: ast.Position{
												Column: 15,
												Line:   39,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 19,
													Line:   39,
												},
												File:   "yield_test.flux",
												Source: "n: 2",
												Start: ast.Position{
													Column: 15,
													Line:   39,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 16,
														Line:   39,
													},
													File:   "yield_test.flux",
													Source: "n",
													Start: ast.Position{
														Column: 15,
														Line:   39,
													},
												},
											},
											Name: "n",
										},
										Separator: nil,
										Value: &ast.IntegerLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 19,
														Line:   39,
													},
													File:   "yield_test.flux",
													Source: "2",
													Start: ast.Position{
														Column: 18,
														Line:   39,
													},
												},
											},
											Value: int64(2),
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 27,
													Line:   39,
												},
												File:   "yield_test.flux",
												Source: "pos: 1",
												Start: ast.Position{
													Column: 21,
													Line:   39,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 24,
														Line:   39,
													},
													File:   "yield_test.flux",
													Source: "pos",
													Start: ast.Position{
														Column: 21,
														Line:   39,
													},
												},
											},
											Name: "pos",
										},
										Separator: nil,
										Value: &ast.IntegerLiteral{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 27,
														Line:   39,
													},
													File:   "yield_test.flux",
													Source: "1",
													Start: ast.Position{
														Column: 26,
														Line:   39,
													},
												},
											},
											Value: int64(1),
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 28,
											Line:   39,
										},
										File:   "yield_test.flux",
										Source: "sample(n: 2, pos: 1)",
										Start: ast.Position{
											Column: 8,
											Line:   39,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 14,
												Line:   39,
											},
											File:   "yield_test.flux",
											Source: "sample",
											Start: ast.Position{
												Column: 8,
												Line:   39,
											},
										},
									},
									Name: "sample",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   40,
								},
								File:   "yield_test.flux",
								Source: "table\n    |> sort()\n    |> limit(n: 3)\n    |> yield(name: \"1: lowest 3\")\n    |> sample(n: 2, pos: 1)\n    |> yield(name: \"2: 2nd row\")",
								Start: ast.Position{
									Column: 25,
									Line:   35,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 32,
											Line:   40,
										},
										File:   "yield_test.flux",
										Source: "name: \"2: 2nd row\"",
										Start: ast.Position{
											Column: 14,
											Line:   40,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   40,
											},
											File:   "yield_test.flux",
											Source: "name: \"2: 2nd row\"",
											Start: ast.Position{
												Column: 14,
												Line:   40,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 18,
													Line:   40,
												},
												File:   "yield_test.flux",
												Source: "name",
												Start: ast.Position{
													Column: 14,
													Line:   40,
												},
											},
										},
										Name: "name",
									},
									Separator: nil,
									Value: &ast.StringLiteral{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 32,
													Line:   40,
												},
												File:   "yield_test.flux",
												Source: "\"2: 2nd row\"",
												Start: ast.Position{
													Column: 20,
													Line:   40,
												},
											},
										},
										Value: "2: 2nd row",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 33,
										Line:   40,
									},
									File:   "yield_test.flux",
									Source: "yield(name: \"2: 2nd row\")",
									Start: ast.Position{
										Column: 8,
										Line:   40,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 13,
											Line:   40,
										},
										File:   "yield_test.flux",
										Source: "yield",
										Start: ast.Position{
											Column: 8,
											Line:   40,
										},
									},
								},
								Name: "yield",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 24,
								Line:   41,
							},
							File:   "yield_test.flux",
							Source: "table\n    |> sort()\n    |> limit(n: 3)\n    |> yield(name: \"1: lowest 3\")\n    |> sample(n: 2, pos: 1)\n    |> yield(name: \"2: 2nd row\")\n    |> yield(name: \"5\")",
							Start: ast.Position{
								Column: 25,
								Line:   35,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 23,
										Line:   41,
									},
									File:   "yield_test.flux",
									Source: "name: \"5\"",
									Start: ast.Position{
										Column: 14,
										Line:   41,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 23,
											Line:   41,
										},
										File:   "yield_test.flux",
										Source: "name: \"5\"",
										Start: ast.Position{
											Column: 14,
											Line:   41,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 18,
												Line:   41,
											},
											File:   "yield_test.flux",
											Source: "name",
											Start: ast.Position{
												Column: 14,
												Line:   41,
											},
										},
									},
									Name: "name",
								},
								Separator: nil,
								Value: &ast.StringLiteral{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 23,
												Line:   41,
											},
											File:   "yield_test.flux",
											Source: "\"5\"",
											Start: ast.Position{
												Column: 20,
												Line:   41,
											},
										},
									},
									Value: "5",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 24,
									Line:   41,
								},
								File:   "yield_test.flux",
								Source: "yield(name: \"5\")",
								Start: ast.Position{
									Column: 8,
									Line:   41,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   41,
									},
									File:   "yield_test.flux",
									Source: "yield",
									Start: ast.Position{
										Column: 8,
										Line:   41,
									},
								},
							},
							Name: "yield",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   35,
							},
							File:   "yield_test.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 12,
								Line:   35,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 17,
									Line:   35,
								},
								File:   "yield_test.flux",
								Source: "table",
								Start: ast.Position{
									Column: 12,
									Line:   35,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   35,
							},
							File:   "yield_test.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 18,
								Line:   35,
							},
						},
					}},
				}},
				Rparan: nil,
			},
		}, &ast.TestStatement{
			Assignment: &ast.VariableAssignment{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 134,
							Line:   43,
						},
						File:   "yield_test.flux",
						Source: "_yield = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData) |> yield(name: \"6\"), fn: t_yield})",
						Start: ast.Position{
							Column: 6,
							Line:   43,
						},
					},
				},
				ID: &ast.Identifier{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 12,
								Line:   43,
							},
							File:   "yield_test.flux",
							Source: "_yield",
							Start: ast.Position{
								Column: 6,
								Line:   43,
							},
						},
					},
					Name: "_yield",
				},
				Init: &ast.FunctionExpression{
					Arrow: nil,
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 134,
								Line:   43,
							},
							File:   "yield_test.flux",
							Source: "() => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData) |> yield(name: \"6\"), fn: t_yield})",
							Start: ast.Position{
								Column: 15,
								Line:   43,
							},
						},
					},
					Body: &ast.ParenExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 134,
									Line:   43,
								},
								File:   "yield_test.flux",
								Source: "({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData) |> yield(name: \"6\"), fn: t_yield})",
								Start: ast.Position{
									Column: 21,
									Line:   43,
								},
							},
						},
						Expression: &ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 133,
										Line:   43,
									},
									File:   "yield_test.flux",
									Source: "{input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData) |> yield(name: \"6\"), fn: t_yield}",
									Start: ast.Position{
										Column: 22,
										Line:   43,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   43,
										},
										File:   "yield_test.flux",
										Source: "input: testing.loadStorage(csv: inData)",
										Start: ast.Position{
											Column: 23,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   43,
											},
											File:   "yield_test.flux",
											Source: "input",
											Start: ast.Position{
												Column: 23,
												Line:   43,
											},
										},
									},
									Name: "input",
								},
								Separator: nil,
								Value: &ast.CallExpression{
									Arguments: []ast.Expression{&ast.ObjectExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 61,
													Line:   43,
												},
												File:   "yield_test.flux",
												Source: "csv: inData",
												Start: ast.Position{
													Column: 50,
													Line:   43,
												},
											},
										},
										Lbrace: nil,
										Properties: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 61,
														Line:   43,
													},
													File:   "yield_test.flux",
													Source: "csv: inData",
													Start: ast.Position{
														Column: 50,
														Line:   43,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 53,
															Line:   43,
														},
														File:   "yield_test.flux",
														Source: "csv",
														Start: ast.Position{
															Column: 50,
															Line:   43,
														},
													},
												},
												Name: "csv",
											},
											Separator: nil,
											Value: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 61,
															Line:   43,
														},
														File:   "yield_test.flux",
														Source: "inData",
														Start: ast.Position{
															Column: 55,
															Line:   43,
														},
													},
												},
												Name: "inData",
											},
										}},
										Rbrace: nil,
										With:   nil,
									}},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   43,
											},
											File:   "yield_test.flux",
											Source: "testing.loadStorage(csv: inData)",
											Start: ast.Position{
												Column: 30,
												Line:   43,
											},
										},
									},
									Callee: &ast.MemberExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 49,
													Line:   43,
												},
												File:   "yield_test.flux",
												Source: "testing.loadStorage",
												Start: ast.Position{
													Column: 30,
													Line:   43,
												},
											},
										},
										Lbrack: nil,
										Object: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   43,
													},
													File:   "yield_test.flux",
													Source: "testing",
													Start: ast.Position{
														Column: 30,
														Line:   43,
													},
												},
											},
											Name: "testing",
										},
										Property: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 49,
														Line:   43,
													},
													File:   "yield_test.flux",
													Source: "loadStorage",
													Start: ast.Position{
														Column: 38,
														Line:   43,
													},
												},
											},
											Name: "loadStorage",
										},
										Rbrack: nil,
									},
									Lparen: nil,
									Rparen: nil,
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 119,
											Line:   43,
										},
										File:   "yield_test.flux",
										Source: "want: testing.loadMem(csv: outData) |> yield(name: \"6\")",
										Start: ast.Position{
											Column: 64,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 68,
												Line:   43,
											},
											File:   "yield_test.flux",
											Source: "want",
											Start: ast.Position{
												Column: 64,
												Line:   43,
											},
										},
									},
									Name: "want",
								},
								Separator: nil,
								Value: &ast.PipeExpression{
									Argument: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 98,
														Line:   43,
													},
													File:   "yield_test.flux",
													Source: "csv: outData",
													Start: ast.Position{
														Column: 86,
														Line:   43,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 98,
															Line:   43,
														},
														File:   "yield_test.flux",
														Source: "csv: outData",
														Start: ast.Position{
															Column: 86,
															Line:   43,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 89,
																Line:   43,
															},
															File:   "yield_test.flux",
															Source: "csv",
															Start: ast.Position{
																Column: 86,
																Line:   43,
															},
														},
													},
													Name: "csv",
												},
												Separator: nil,
												Value: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 98,
																Line:   43,
															},
															File:   "yield_test.flux",
															Source: "outData",
															Start: ast.Position{
																Column: 91,
																Line:   43,
															},
														},
													},
													Name: "outData",
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 99,
													Line:   43,
												},
												File:   "yield_test.flux",
												Source: "testing.loadMem(csv: outData)",
												Start: ast.Position{
													Column: 70,
													Line:   43,
												},
											},
										},
										Callee: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 85,
														Line:   43,
													},
													File:   "yield_test.flux",
													Source: "testing.loadMem",
													Start: ast.Position{
														Column: 70,
														Line:   43,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 77,
															Line:   43,
														},
														File:   "yield_test.flux",
														Source: "testing",
														Start: ast.Position{
															Column: 70,
															Line:   43,
														},
													},
												},
												Name: "testing",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 85,
															Line:   43,
														},
														File:   "yield_test.flux",
														Source: "loadMem",
														Start: ast.Position{
															Column: 78,
															Line:   43,
														},
													},
												},
												Name: "loadMem",
											},
											Rbrack: nil,
										},
										Lparen: nil,
										Rparen: nil,
									},
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 119,
												Line:   43,
											},
											File:   "yield_test.flux",
											Source: "testing.loadMem(csv: outData) |> yield(name: \"6\")",
											Start: ast.Position{
												Column: 70,
												Line:   43,
											},
										},
									},
									Call: &ast.CallExpression{
										Arguments: []ast.Expression{&ast.ObjectExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 118,
														Line:   43,
													},
													File:   "yield_test.flux",
													Source: "name: \"6\"",
													Start: ast.Position{
														Column: 109,
														Line:   43,
													},
												},
											},
											Lbrace: nil,
											Properties: []*ast.Property{&ast.Property{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 118,
															Line:   43,
														},
														File:   "yield_test.flux",
														Source: "name: \"6\"",
														Start: ast.Position{
															Column: 109,
															Line:   43,
														},
													},
												},
												Comma: nil,
												Key: &ast.Identifier{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 113,
																Line:   43,
															},
															File:   "yield_test.flux",
															Source: "name",
															Start: ast.Position{
																Column: 109,
																Line:   43,
															},
														},
													},
													Name: "name",
												},
												Separator: nil,
												Value: &ast.StringLiteral{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 118,
																Line:   43,
															},
															File:   "yield_test.flux",
															Source: "\"6\"",
															Start: ast.Position{
																Column: 115,
																Line:   43,
															},
														},
													},
													Value: "6",
												},
											}},
											Rbrace: nil,
											With:   nil,
										}},
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 119,
													Line:   43,
												},
												File:   "yield_test.flux",
												Source: "yield(name: \"6\")",
												Start: ast.Position{
													Column: 103,
													Line:   43,
												},
											},
										},
										Callee: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 108,
														Line:   43,
													},
													File:   "yield_test.flux",
													Source: "yield",
													Start: ast.Position{
														Column: 103,
														Line:   43,
													},
												},
											},
											Name: "yield",
										},
										Lparen: nil,
										Rparen: nil,
									},
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 132,
											Line:   43,
										},
										File:   "yield_test.flux",
										Source: "fn: t_yield",
										Start: ast.Position{
											Column: 121,
											Line:   43,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 123,
												Line:   43,
											},
											File:   "yield_test.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 121,
												Line:   43,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 132,
												Line:   43,
											},
											File:   "yield_test.flux",
											Source: "t_yield",
											Start: ast.Position{
												Column: 125,
												Line:   43,
											},
										},
									},
									Name: "t_yield",
								},
							}},
							Rbrace: nil,
							With:   nil,
						},
						Lparen: nil,
						Rparen: nil,
					},
					Lparen: nil,
					Params: []*ast.Property{},
					Rparan: nil,
				},
			},
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 134,
						Line:   43,
					},
					File:   "yield_test.flux",
					Source: "test _yield = () => ({input: testing.loadStorage(csv: inData), want: testing.loadMem(csv: outData) |> yield(name: \"6\"), fn: t_yield})",
					Start: ast.Position{
						Column: 1,
						Line:   43,
					},
				},
			},
		}},
		Eof: nil,
		Imports: []*ast.ImportDeclaration{&ast.ImportDeclaration{
			As: nil,
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 17,
						Line:   4,
					},
					File:   "yield_test.flux",
					Source: "import \"testing\"",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			Path: &ast.StringLiteral{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 17,
							Line:   4,
						},
						File:   "yield_test.flux",
						Source: "\"testing\"",
						Start: ast.Position{
							Column: 8,
							Line:   4,
						},
					},
				},
				Value: "testing",
			},
		}},
		Metadata: "parser-type=rust",
		Name:     "yield_test.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 22,
						Line:   1,
					},
					File:   "yield_test.flux",
					Source: "package universe_test",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 22,
							Line:   1,
						},
						File:   "yield_test.flux",
						Source: "universe_test",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "universe_test",
			},
		},
	}},
	Package: "universe_test",
	Path:    "universe",
}}
